package com.hsmpay.mobile.action.added.zzy;

import com.hsmpay.common.pojo.qian4.Qian4SendLog;
import com.hsmpay.common.pojo.user.User;
import com.hsmpay.common.util.DateConvertUtil;
import com.hsmpay.common.util.JSONStringBuilder;
import com.hsmpay.common.util.NumberUtil;
import com.hsmpay.common.util.URLDecoderTools;
import com.hsmpay.mobile.action.account.qian48.Q4BaseAction;
import com.hsmpay.mobile.action.added.AddedBaseAction;
import com.hsmpay.mobile.pojo.added.AddedOrder;
import com.hsmpay.mobile.pojo.terminal.TerminalPrivileges;
import com.hsmpay.mobile.util.icc.ME30DataDecode;
import com.hsmpay.utils.Des3;
import it.sauronsoftware.base64.Base64;
import org.apache.commons.lang.StringUtils;
import org.apache.log4j.Logger;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;
import com.hsmpay.qian4.pojo.PurchaseResult;
import com.hsmpay.utils.TimeUtils;

import java.net.URLEncoder;
import java.util.*;

//import zyzf.added.zzf.Violation;
//import zyzf.pay.qian4.utils.Qian48Constant;

/**
 * 掌中付 违规
 *
 * @author 颜铃璋
 */
@Controller("zzyViolationAction")
@Scope("prototype")
public class ZzyViolationAction extends AddedBaseAction {
    private static final long serialVersionUID = 5340784605432629434L;
    private static Logger log = Logger.getLogger(ZzyViolationAction.class);
    //	private static Violation violation = new Violation();
    private static List<Map<String, String>> voitureTypeList;
    private static List<Map<String, String>> provinceList = new ArrayList<Map<String, String>>();
    private static Map<String, List<Map<String, String>>> cityHashes = new HashMap<String, List<Map<String, String>>>();
    private static Map<String, String> allCityHash = new HashMap<String, String>();

    private static List<Map<String, String>> provinceRuleList;
    private static Map<String, List<Map<String, String>>> cityRuleHash = new HashMap<String, List<Map<String, String>>>();
    private static Map<String, Map<String, String>> voitureRulesMap = new HashMap<String, Map<String, String>>();

    private String provinceId;//省ID
    private String shopSign;//车牌号
    private String ownerCar;//车主
    private String voitureNo;//车架号(车身号)
    private String engineNo;//发动机号
    private String carType;//机动车类型
    private String provinceName;//省
    private String cityId;//城市Id
    private String cityName;//城市
    private String pShortTitle;//省简称


    private String details;//违章内容和车辆信息数组
    private String isNeedPenaltyReceipts;//是否邮寄回执 true false
    private String isNeedMailInvoice;//是否邮寄发票 true false
    private String mailTypeId;//邮寄类型
    private String custName;//客户名称
    private String gender;//性别 true为男性,false为女性
    private String mobilePhone;//手机号
    private String email;//email
    private String password;//password
    private String partnerCustNO;//合作伙伴会员号唯一对应会员串
    private String linkMan;//联系人
    private String telePhone;//联系电话
    private String streetAddress;//邮寄地址
    private String postalCode;//邮编
    private String invoiceTitle;//发票抬头
    private Long orderTypeId = 63L;

    @SuppressWarnings("unchecked")
    private void initVoitureType() throws Exception {
//		Map<String,Object> resultMap = violation.GetViolationsVoitureType();
//		if("0000".equals(resultMap.get("reqCode"))){
//			voitureTypeList = (List<Map<String, String>>) resultMap.get("list");
//		}
    }

    @SuppressWarnings("unchecked")
    private void initVoitureRules() throws Exception {
//		Map<String,Object> resultMap = violation.GetViolationsSearchRules();
//		if("0000".equals(resultMap.get("reqCode"))){
//			List<Map<String,String>> voitureRulesList = (List<Map<String, String>>) resultMap.get("list");
//			provinceRuleList = new ArrayList<Map<String,String>>();
//			Map<String, String> ruleMap = null;
//			Map<String, String> tempprovinceMap = new HashMap<String, String>();
//			for(int i = 0 ; i < voitureRulesList.size(); i++){
//				ruleMap = voitureRulesList.get(i);
//				String pShortTitle = ruleMap.get("pShortTitle");//省简称
//				String provinceId =  ruleMap.get("provinceId");//省Id
//				String provinceName =  ruleMap.get("provinceName");//省名称
//				String cityId =  ruleMap.get("cityId");//城市ID
//				String cityName =  ruleMap.get("cityName");//城市名称
//				
//				if(tempprovinceMap.get(provinceId) == null){//保存省
//					tempprovinceMap.put(provinceId, provinceName);
//					Map<String, String> provinceMap = new HashMap<String, String>();
//					provinceMap.put("id", provinceId);
//					provinceMap.put("name", provinceName);
//					provinceMap.put("pShortTitle", pShortTitle);
//					provinceRuleList.add(provinceMap);
//				}
//				
//				Map<String, String> cityMap = new HashMap<String, String>();
//				cityMap.put("id", cityId);
//				cityMap.put("name", cityName);
//				List<Map<String, String>> cityList = cityRuleHash.get(provinceId);
//				if(null == cityList) cityList = new ArrayList<Map<String,String>>();
//				cityList.add(cityMap);
//				cityRuleHash.put(provinceId, cityList);
//				
//				voitureRulesMap.put(pShortTitle+"_"+provinceId+"_"+cityId, ruleMap);//保存规则
//			}
//			
//		}
    }

    @SuppressWarnings("unchecked")
    private void initVoitureCity() throws Exception {
//		String result = violation.GetViolationsCity();
//		String tempProvince = null;
//		List<Map<String, String>> cityList = null;
//		Map<String, String> cityMap = null;
//		Map<String, String> provinceMap = null;
//		String[] resultA = result.split("##");
//		if("000".equals(resultA[0].split("\\|")[0])){
//			String[] provinceCityA = resultA[1].split("\\|");
//			for(String pCity : provinceCityA){
//				String[] pCityA = pCity.split("#");
//				for(int i =0 ; i< pCityA.length ; i++){
//					String[] pA = pCityA[i].split(",");
//					if(i == 0){
//						provinceMap = new HashMap<String, String>();
//						provinceMap.put("id", pA[0]);
//						provinceMap.put("name", pA[1]);
//						provinceList.add(provinceMap);
//						tempProvince = pA[0];
//						cityList = new ArrayList<Map<String, String>>();
//						cityHashes.put(tempProvince, cityList);
//						allCityHash.put(pA[0], pA[1]);
//					}else{
//						cityMap = new HashMap<String, String>();
//						cityMap.put("id", pA[1]);
//						cityMap.put("name", pA[0]);
//						cityHashes.get(tempProvince).add(cityMap);
//						allCityHash.put(pA[1], pA[0]);
//					}
//				}
//			}
//		}
    }

    /**
     * {reqMsg=操作成功, reqCode=0000, list=[{id=1, name=小型车}, {id=3, name=大型车}, {id=4, name=外籍汽车}, {id=5, name=两、三轮摩托车}, {id=6, name=境外摩托车}, {id=7, name=外籍摩托车}, {id=8, name=挂车}, {id=9, name=香港入出境车}, {id=10, name=澳门入出境车}, {id=11, name=其它}]}
     * 获得机动车类型
     *
     * @throws Exception
     */
    public void getVoitureType() throws Exception {
        if (null == voitureTypeList) initVoitureType();
        //JSONObject js = JSONObject.fromObject(getRequest().getAttribute(FC_DATA));

        Map<String, Object> result = new LinkedHashMap<String, Object>();
        result.put("reqCode", "0000");
        result.put("reqMsg", "获得机动车类型成功！");
        result.put("list", voitureTypeList);
        sendAppMsg(result);
    }

    /**
     * 获取违章省
     *
     * @throws Exception
     */
    public void getRuleProvince() throws Exception {
        if (null == provinceRuleList) initVoitureRules();

        Map<String, Object> result = new LinkedHashMap<String, Object>();
        result.put("reqCode", "0000");
        result.put("reqMsg", "获取违章省！");
        result.put("list", provinceRuleList);
        sendAppMsg(result);
    }

    /**
     * 获取违章市
     *
     * @throws Exception
     */
    public void getRuleCity() throws Exception {
        if (null == cityRuleHash) initVoitureRules();
        provinceId = getJsonString("provinceId");
        if (StringUtils.isEmpty(provinceId)) {
            log.info("获取违章城市时, 传入参数provinceId为空");
            sendAppErrorMsg("6001", "provinceId");
            return;
        }

        Map<String, Object> result = new LinkedHashMap<String, Object>();
        result.put("reqCode", "0000");
        result.put("reqMsg", "获取违章城市！");
        result.put("list", cityRuleHash.get(provinceId));
        sendAppMsg(result);
    }

    /**
     * {reqMsg=操作成功, reqCode=0000, list=[{CityID=165, CarNoLength=6, Message=, CityName=广州市, EngineNoLength=6, IsNeedUserName=false, ProvinceId=2, SpecialType=0, PShortTitle=粤, ProvinceName=广东省, CShortTitle=A, SpecialTypeName=普通省份}, {CityID=3, CarNoLength=6, Message=, CityName=深圳市, EngineNoLength=6, IsNeedUserName=false, ProvinceId=2, SpecialType=0, PShortTitle=粤, ProvinceName=广东省, CShortTitle=B, SpecialTypeName=普通省份}, {CityID=352, CarNoLength=6, Message=, CityName=珠海市, EngineNoLength=6, IsNeedUserName=false, ProvinceId=2, SpecialType=0, PShortTitle=粤, ProvinceName=广东省, CShortTitle=C, SpecialTypeName=普通省份}, {CityID=1143, CarNoLength=6, Message=, CityName=汕头市, EngineNoLength=6, IsNeedUserName=false, ProvinceId=2, SpecialType=0, PShortTitle=粤, ProvinceName=广东省, CShortTitle=D, SpecialTypeName=普通省份}, {CityID=353, CarNoLength=6, Message=, CityName=佛山市, EngineNoLength=6, IsNeedUserName=false, ProvinceId=2, SpecialType=0, PShortTitle=粤, ProvinceName=广东省, CShortTitle=E, SpecialTypeName=普通省份}, {CityID=1142, CarNoLength=6, Message=, CityName=韶关市, EngineNoLength=6, IsNeedUserName=false, ProvinceId=2, SpecialType=0, PShortTitle=粤, ProvinceName=广东省, CShortTitle=F, SpecialTypeName=普通省份}, {CityID=1145, CarNoLength=6, Message=, CityName=湛江市, EngineNoLength=6, IsNeedUserName=false, ProvinceId=2, SpecialType=0, PShortTitle=粤, ProvinceName=广东省, CShortTitle=G, SpecialTypeName=普通省份}, {CityID=1147, CarNoLength=6, Message=, CityName=肇庆市, EngineNoLength=6, IsNeedUserName=false, ProvinceId=2, SpecialType=0, PShortTitle=粤, ProvinceName=广东省, CShortTitle=H, SpecialTypeName=普通省份}, {CityID=1144, CarNoLength=6, Message=, CityName=江门市, EngineNoLength=6, IsNeedUserName=false, ProvinceId=2, SpecialType=0, PShortTitle=粤, ProvinceName=广东省, CShortTitle=J, SpecialTypeName=普通省份}, {CityID=1146, CarNoLength=6, Message=, CityName=茂名市, EngineNoLength=6, IsNeedUserName=false, ProvinceId=2, SpecialType=0, PShortTitle=粤, ProvinceName=广东省, CShortTitle=K, SpecialTypeName=普通省份}, {CityID=1148, CarNoLength=6, Message=, CityName=惠州市, EngineNoLength=6, IsNeedUserName=false, ProvinceId=2, SpecialType=0, PShortTitle=粤, ProvinceName=广东省, CShortTitle=L, SpecialTypeName=普通省份}, {CityID=1149, CarNoLength=6, Message=, CityName=梅州市, EngineNoLength=6, IsNeedUserName=false, ProvinceId=2, SpecialType=0, PShortTitle=粤, ProvinceName=广东省, CShortTitle=M, SpecialTypeName=普通省份}, {CityID=1150, CarNoLength=6, Message=, CityName=汕尾市, EngineNoLength=6, IsNeedUserName=false, ProvinceId=2, SpecialType=0, PShortTitle=粤, ProvinceName=广东省, CShortTitle=N, SpecialTypeName=普通省份}, {CityID=1151, CarNoLength=6, Message=, CityName=河源市, EngineNoLength=6, IsNeedUserName=false, ProvinceId=2, SpecialType=0, PShortTitle=粤, ProvinceName=广东省, CShortTitle=P, SpecialTypeName=普通省份}, {CityID=1152, CarNoLength=6, Message=, CityName=阳江市, EngineNoLength=6, IsNeedUserName=false, ProvinceId=2, SpecialType=0, PShortTitle=粤, ProvinceName=广东省, CShortTitle=Q, SpecialTypeName=普通省份}, {CityID=1153, CarNoLength=6, Message=, CityName=清远市, EngineNoLength=6, IsNeedUserName=false, ProvinceId=2, SpecialType=0, PShortTitle=粤, ProvinceName=广东省, CShortTitle=R, SpecialTypeName=普通省份}, {CityID=354, CarNoLength=6, Message=, CityName=东莞市, EngineNoLength=6, IsNeedUserName=false, ProvinceId=2, SpecialType=0, PShortTitle=粤, ProvinceName=广东省, CShortTitle=S, SpecialTypeName=普通省份}, {CityID=1154, CarNoLength=6, Message=, CityName=中山市, EngineNoLength=6, IsNeedUserName=false, ProvinceId=2, SpecialType=0, PShortTitle=粤, ProvinceName=广东省, CShortTitle=T, SpecialTypeName=普通省份}, {CityID=1155, CarNoLength=6, Message=, CityName=潮州市, EngineNoLength=6, IsNeedUserName=false, ProvinceId=2, SpecialType=0, PShortTitle=粤, ProvinceName=广东省, CShortTitle=U, SpecialTypeName=普通省份}, {CityID=1156, CarNoLength=6, Message=, CityName=揭阳市, EngineNoLength=6, IsNeedUserName=false, ProvinceId=2, SpecialType=0, PShortTitle=粤, ProvinceName=广东省, CShortTitle=V, SpecialTypeName=普通省份}, {CityID=1157, CarNoLength=6, Message=, CityName=云浮市, EngineNoLength=6, IsNeedUserName=false, ProvinceId=2, SpecialType=0, PShortTitle=粤, ProvinceName=广东省, CShortTitle=W, SpecialTypeName=普通省份}, {CityID=1671, CarNoLength=6, Message=, CityName=顺德, EngineNoLength=6, IsNeedUserName=false, ProvinceId=2, SpecialType=0, PShortTitle=粤, ProvinceName=广东省, CShortTitle=X, SpecialTypeName=普通省份}, {CityID=1774, CarNoLength=6, Message=, CityName=南海, EngineNoLength=6, IsNeedUserName=false, ProvinceId=2, SpecialType=0, PShortTitle=粤, ProvinceName=广东省, CShortTitle=Y, SpecialTypeName=普通省份}, {CityID=1775, CarNoLength=6, Message=, CityName=港澳入境车辆, EngineNoLength=6, IsNeedUserName=false, ProvinceId=2, SpecialType=0, PShortTitle=粤, ProvinceName=广东省, CShortTitle=Z, SpecialTypeName=普通省份}, {CityID=425, CarNoLength=0, Message=, CityName=上海市, EngineNoLength=8, IsNeedUserName=false, ProvinceId=424, SpecialType=1, PShortTitle=沪, ProvinceName=上海市, CShortTitle=, SpecialTypeName=直辖市}, {CityID=351, CarNoLength=0, Message=, CityName=北京市, EngineNoLength=8, IsNeedUserName=false, ProvinceId=342, SpecialType=1, PShortTitle=京, ProvinceName=北京市, CShortTitle=, SpecialTypeName=直辖市}, {CityID=174, CarNoLength=6, Message=, CityName=杭州市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=173, SpecialType=0, PShortTitle=浙, ProvinceName=浙江省, CShortTitle=A, SpecialTypeName=普通省份}, {CityID=175, CarNoLength=6, Message=, CityName=宁波市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=173, SpecialType=0, PShortTitle=浙, ProvinceName=浙江省, CShortTitle=B, SpecialTypeName=普通省份}, {CityID=176, CarNoLength=8, Message=, CityName=温州市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=173, SpecialType=0, PShortTitle=浙, ProvinceName=浙江省, CShortTitle=C, SpecialTypeName=普通省份}, {CityID=1046, CarNoLength=8, Message=, CityName=绍兴市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=173, SpecialType=0, PShortTitle=浙, ProvinceName=浙江省, CShortTitle=D, SpecialTypeName=普通省份}, {CityID=1045, CarNoLength=6, Message=, CityName=湖州市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=173, SpecialType=0, PShortTitle=浙, ProvinceName=浙江省, CShortTitle=E, SpecialTypeName=普通省份}, {CityID=1044, CarNoLength=8, Message=, CityName=嘉兴市, EngineNoLength=8, IsNeedUserName=false, ProvinceId=173, SpecialType=0, PShortTitle=浙, ProvinceName=浙江省, CShortTitle=F, SpecialTypeName=普通省份}, {CityID=1047, CarNoLength=6, Message=, CityName=金华市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=173, SpecialType=0, PShortTitle=浙, ProvinceName=浙江省, CShortTitle=G, SpecialTypeName=普通省份}, {CityID=1707, CarNoLength=6, Message=, CityName=衢州市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=173, SpecialType=0, PShortTitle=浙, ProvinceName=浙江省, CShortTitle=H, SpecialTypeName=普通省份}, {CityID=1050, CarNoLength=6, Message=, CityName=台州市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=173, SpecialType=0, PShortTitle=浙, ProvinceName=浙江省, CShortTitle=J, SpecialTypeName=普通省份}, {CityID=1708, CarNoLength=6, Message=, CityName=丽水市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=173, SpecialType=0, PShortTitle=浙, ProvinceName=浙江省, CShortTitle=K, SpecialTypeName=普通省份}, {CityID=178, CarNoLength=6, Message=, CityName=南京市, EngineNoLength=6, IsNeedUserName=false, ProvinceId=177, SpecialType=0, PShortTitle=苏, ProvinceName=江苏省, CShortTitle=A, SpecialTypeName=普通省份}, {CityID=350, CarNoLength=6, Message=, CityName=无锡市, EngineNoLength=6, IsNeedUserName=false, ProvinceId=177, SpecialType=0, PShortTitle=苏, ProvinceName=江苏省, CShortTitle=B, SpecialTypeName=普通省份}, {CityID=1034, CarNoLength=6, Message=, CityName=徐州市, EngineNoLength=6, IsNeedUserName=false, ProvinceId=177, SpecialType=0, PShortTitle=苏, ProvinceName=江苏省, CShortTitle=C, SpecialTypeName=普通省份}, {CityID=1035, CarNoLength=6, Message=, CityName=常州市, EngineNoLength=6, IsNeedUserName=false, ProvinceId=177, SpecialType=0, PShortTitle=苏, ProvinceName=江苏省, CShortTitle=D, SpecialTypeName=普通省份}, {CityID=349, CarNoLength=6, Message=, CityName=苏州市, EngineNoLength=6, IsNeedUserName=false, ProvinceId=177, SpecialType=0, PShortTitle=苏, ProvinceName=江苏省, CShortTitle=E, SpecialTypeName=普通省份}, {CityID=1036, CarNoLength=6, Message=, CityName=南通市, EngineNoLength=6, IsNeedUserName=false, ProvinceId=177, SpecialType=0, PShortTitle=苏, ProvinceName=江苏省, CShortTitle=F, SpecialTypeName=普通省份}, {CityID=1037, CarNoLength=6, Message=, CityName=连云港市, EngineNoLength=6, IsNeedUserName=false, ProvinceId=177, SpecialType=0, PShortTitle=苏, ProvinceName=江苏省, CShortTitle=G, SpecialTypeName=普通省份}, {CityID=1039, CarNoLength=6, Message=, CityName=盐城市, EngineNoLength=6, IsNeedUserName=false, ProvinceId=177, SpecialType=0, PShortTitle=苏, ProvinceName=江苏省, CShortTitle=J, SpecialTypeName=普通省份}, {CityID=1040, CarNoLength=6, Message=, CityName=扬州市, EngineNoLength=6, IsNeedUserName=false, ProvinceId=177, SpecialType=0, PShortTitle=苏, ProvinceName=江苏省, CShortTitle=K, SpecialTypeName=普通省份}, {CityID=1043, CarNoLength=6, Message=, CityName=宿迁市, EngineNoLength=6, IsNeedUserName=false, ProvinceId=177, SpecialType=0, PShortTitle=苏, ProvinceName=江苏省, CShortTitle=N, SpecialTypeName=普通省份}, {CityID=169, CarNoLength=6, Message=, CityName=福州市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=161, SpecialType=0, PShortTitle=闽, ProvinceName=福建省, CShortTitle=A, SpecialTypeName=普通省份}, {CityID=1071, CarNoLength=6, Message=, CityName=莆田市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=161, SpecialType=0, PShortTitle=闽, ProvinceName=福建省, CShortTitle=B, SpecialTypeName=普通省份}, {CityID=1073, CarNoLength=6, Message=, CityName=泉州市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=161, SpecialType=0, PShortTitle=闽, ProvinceName=福建省, CShortTitle=C, SpecialTypeName=普通省份}, {CityID=168, CarNoLength=6, Message=, CityName=厦门市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=161, SpecialType=0, PShortTitle=闽, ProvinceName=福建省, CShortTitle=D, SpecialTypeName=普通省份}, {CityID=1074, CarNoLength=6, Message=, CityName=漳州市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=161, SpecialType=0, PShortTitle=闽, ProvinceName=福建省, CShortTitle=E, SpecialTypeName=普通省份}, {CityID=1076, CarNoLength=6, Message=, CityName=龙岩市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=161, SpecialType=0, PShortTitle=闽, ProvinceName=福建省, CShortTitle=F, SpecialTypeName=普通省份}, {CityID=1072, CarNoLength=6, Message=, CityName=三明市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=161, SpecialType=0, PShortTitle=闽, ProvinceName=福建省, CShortTitle=G, SpecialTypeName=普通省份}, {CityID=1075, CarNoLength=6, Message=, CityName=南平市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=161, SpecialType=0, PShortTitle=闽, ProvinceName=福建省, CShortTitle=H, SpecialTypeName=普通省份}, {CityID=1077, CarNoLength=6, Message=, CityName=宁德市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=161, SpecialType=0, PShortTitle=闽, ProvinceName=福建省, CShortTitle=J, SpecialTypeName=普通省份}, {CityID=367, CarNoLength=8, Message=, CityName=重庆市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=362, SpecialType=1, PShortTitle=渝, ProvinceName=重庆市, CShortTitle=, SpecialTypeName=直辖市}, {CityID=364, CarNoLength=6, Message=, CityName=长沙市, EngineNoLength=6, IsNeedUserName=false, ProvinceId=340, SpecialType=0, PShortTitle=湘, ProvinceName=湖南省, CShortTitle=A, SpecialTypeName=普通省份}, {CityID=365, CarNoLength=6, Message=, CityName=株洲市, EngineNoLength=6, IsNeedUserName=false, ProvinceId=340, SpecialType=0, PShortTitle=湘, ProvinceName=湖南省, CShortTitle=B, SpecialTypeName=普通省份}, {CityID=1131, CarNoLength=6, Message=, CityName=湘潭市, EngineNoLength=6, IsNeedUserName=false, ProvinceId=340, SpecialType=0, PShortTitle=湘, ProvinceName=湖南省, CShortTitle=C, SpecialTypeName=普通省份}, {CityID=1132, CarNoLength=6, Message=, CityName=衡阳市, EngineNoLength=6, IsNeedUserName=false, ProvinceId=340, SpecialType=0, PShortTitle=湘, ProvinceName=湖南省, CShortTitle=D, SpecialTypeName=普通省份}, {CityID=1133, CarNoLength=6, Message=, CityName=邵阳市, EngineNoLength=6, IsNeedUserName=false, ProvinceId=340, SpecialType=0, PShortTitle=湘, ProvinceName=湖南省, CShortTitle=E, SpecialTypeName=普通省份}, {CityID=1134, CarNoLength=6, Message=, CityName=岳阳市, EngineNoLength=6, IsNeedUserName=false, ProvinceId=340, SpecialType=0, PShortTitle=湘, ProvinceName=湖南省, CShortTitle=F, SpecialTypeName=普通省份}, {CityID=1136, CarNoLength=6, Message=, CityName=张家界市, EngineNoLength=6, IsNeedUserName=false, ProvinceId=340, SpecialType=0, PShortTitle=湘, ProvinceName=湖南省, CShortTitle=G, SpecialTypeName=普通省份}, {CityID=1137, CarNoLength=6, Message=, CityName=益阳市, EngineNoLength=6, IsNeedUserName=false, ProvinceId=340, SpecialType=0, PShortTitle=湘, ProvinceName=湖南省, CShortTitle=H, SpecialTypeName=普通省份}, {CityID=1135, CarNoLength=6, Message=, CityName=常德市, EngineNoLength=6, IsNeedUserName=false, ProvinceId=340, SpecialType=0, PShortTitle=湘, ProvinceName=湖南省, CShortTitle=J, SpecialTypeName=普通省份}, {CityID=1141, CarNoLength=6, Message=, CityName=娄底市, EngineNoLength=6, IsNeedUserName=false, ProvinceId=340, SpecialType=0, PShortTitle=湘, ProvinceName=湖南省, CShortTitle=K, SpecialTypeName=普通省份}, {CityID=1138, CarNoLength=6, Message=, CityName=郴州市, EngineNoLength=6, IsNeedUserName=false, ProvinceId=340, SpecialType=0, PShortTitle=湘, ProvinceName=湖南省, CShortTitle=L, SpecialTypeName=普通省份}, {CityID=1139, CarNoLength=6, Message=, CityName=永州市, EngineNoLength=6, IsNeedUserName=false, ProvinceId=340, SpecialType=0, PShortTitle=湘, ProvinceName=湖南省, CShortTitle=M, SpecialTypeName=普通省份}, {CityID=1140, CarNoLength=6, Message=, CityName=怀化市, EngineNoLength=6, IsNeedUserName=false, ProvinceId=340, SpecialType=0, PShortTitle=湘, ProvinceName=湖南省, CShortTitle=N, SpecialTypeName=普通省份}, {CityID=1776, CarNoLength=6, Message=, CityName=湘西州, EngineNoLength=6, IsNeedUserName=false, ProvinceId=340, SpecialType=0, PShortTitle=湘, ProvinceName=湖南省, CShortTitle=P, SpecialTypeName=普通省份}, {CityID=959, CarNoLength=6, Message=, CityName=石家庄市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=958, SpecialType=0, PShortTitle=冀, ProvinceName=河北省, CShortTitle=A, SpecialTypeName=普通省份}, {CityID=960, CarNoLength=6, Message=, CityName=唐山市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=958, SpecialType=0, PShortTitle=冀, ProvinceName=河北省, CShortTitle=B, SpecialTypeName=普通省份}, {CityID=961, CarNoLength=6, Message=, CityName=秦皇岛市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=958, SpecialType=0, PShortTitle=冀, ProvinceName=河北省, CShortTitle=C, SpecialTypeName=普通省份}, {CityID=962, CarNoLength=6, Message=, CityName=邯郸市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=958, SpecialType=0, PShortTitle=冀, ProvinceName=河北省, CShortTitle=D, SpecialTypeName=普通省份}, {CityID=963, CarNoLength=6, Message=, CityName=邢台市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=958, SpecialType=0, PShortTitle=冀, ProvinceName=河北省, CShortTitle=E, SpecialTypeName=普通省份}, {CityID=964, CarNoLength=6, Message=, CityName=保定市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=958, SpecialType=0, PShortTitle=冀, ProvinceName=河北省, CShortTitle=F, SpecialTypeName=普通省份}, {CityID=965, CarNoLength=6, Message=, CityName=张家口市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=958, SpecialType=0, PShortTitle=冀, ProvinceName=河北省, CShortTitle=G, SpecialTypeName=普通省份}, {CityID=966, CarNoLength=6, Message=, CityName=承德市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=958, SpecialType=0, PShortTitle=冀, ProvinceName=河北省, CShortTitle=H, SpecialTypeName=普通省份}, {CityID=967, CarNoLength=6, Message=, CityName=沧州市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=958, SpecialType=0, PShortTitle=冀, ProvinceName=河北省, CShortTitle=J, SpecialTypeName=普通省份}, {CityID=969, CarNoLength=6, Message=, CityName=廊坊市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=958, SpecialType=0, PShortTitle=冀, ProvinceName=河北省, CShortTitle=R, SpecialTypeName=普通省份}, {CityID=970, CarNoLength=6, Message=, CityName=衡水市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=958, SpecialType=0, PShortTitle=冀, ProvinceName=河北省, CShortTitle=T, SpecialTypeName=普通省份}, {CityID=346, CarNoLength=8, Message=, CityName=济南市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=341, SpecialType=0, PShortTitle=鲁, ProvinceName=山东省, CShortTitle=A, SpecialTypeName=普通省份}, {CityID=345, CarNoLength=6, Message=, CityName=青岛市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=341, SpecialType=0, PShortTitle=鲁, ProvinceName=山东省, CShortTitle=B, SpecialTypeName=普通省份}, {CityID=1088, CarNoLength=6, Message=, CityName=淄博市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=341, SpecialType=0, PShortTitle=鲁, ProvinceName=山东省, CShortTitle=C, SpecialTypeName=普通省份}, {CityID=1089, CarNoLength=6, Message=, CityName=枣庄市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=341, SpecialType=0, PShortTitle=鲁, ProvinceName=山东省, CShortTitle=D, SpecialTypeName=普通省份}, {CityID=1090, CarNoLength=6, Message=, CityName=东营市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=341, SpecialType=0, PShortTitle=鲁, ProvinceName=山东省, CShortTitle=E, SpecialTypeName=普通省份}, {CityID=1091, CarNoLength=6, Message=, CityName=烟台市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=341, SpecialType=0, PShortTitle=鲁, ProvinceName=山东省, CShortTitle=F, SpecialTypeName=普通省份}, {CityID=1092, CarNoLength=6, Message=, CityName=潍坊市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=341, SpecialType=0, PShortTitle=鲁, ProvinceName=山东省, CShortTitle=G, SpecialTypeName=普通省份}, {CityID=1093, CarNoLength=6, Message=, CityName=济宁市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=341, SpecialType=0, PShortTitle=鲁, ProvinceName=山东省, CShortTitle=H, SpecialTypeName=普通省份}, {CityID=1094, CarNoLength=6, Message=, CityName=泰安市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=341, SpecialType=0, PShortTitle=鲁, ProvinceName=山东省, CShortTitle=J, SpecialTypeName=普通省份}, {CityID=1095, CarNoLength=6, Message=, CityName=威海市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=341, SpecialType=0, PShortTitle=鲁, ProvinceName=山东省, CShortTitle=K, SpecialTypeName=普通省份}, {CityID=1096, CarNoLength=6, Message=, CityName=日照市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=341, SpecialType=0, PShortTitle=鲁, ProvinceName=山东省, CShortTitle=L, SpecialTypeName=普通省份}, {CityID=1101, CarNoLength=6, Message=, CityName=滨州市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=341, SpecialType=0, PShortTitle=鲁, ProvinceName=山东省, CShortTitle=M, SpecialTypeName=普通省份}, {CityID=1099, CarNoLength=6, Message=, CityName=德州市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=341, SpecialType=0, PShortTitle=鲁, ProvinceName=山东省, CShortTitle=N, SpecialTypeName=普通省份}, {CityID=1100, CarNoLength=6, Message=, CityName=聊城市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=341, SpecialType=0, PShortTitle=鲁, ProvinceName=山东省, CShortTitle=P, SpecialTypeName=普通省份}, {CityID=1098, CarNoLength=6, Message=, CityName=临沂市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=341, SpecialType=0, PShortTitle=鲁, ProvinceName=山东省, CShortTitle=Q, SpecialTypeName=普通省份}, {CityID=1778, CarNoLength=6, Message=, CityName=菏泽市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=341, SpecialType=0, PShortTitle=鲁, ProvinceName=山东省, CShortTitle=R, SpecialTypeName=普通省份}, {CityID=1097, CarNoLength=6, Message=, CityName=莱芜市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=341, SpecialType=0, PShortTitle=鲁, ProvinceName=山东省, CShortTitle=S, SpecialTypeName=普通省份}, {CityID=997, CarNoLength=6, Message=, CityName=沈阳市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=996, SpecialType=0, PShortTitle=辽, ProvinceName=辽宁省, CShortTitle=A, SpecialTypeName=普通省份}, {CityID=998, CarNoLength=6, Message=, CityName=大连市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=996, SpecialType=0, PShortTitle=辽, ProvinceName=辽宁省, CShortTitle=B, SpecialTypeName=普通省份}, {CityID=999, CarNoLength=6, Message=, CityName=鞍山市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=996, SpecialType=0, PShortTitle=辽, ProvinceName=辽宁省, CShortTitle=C, SpecialTypeName=普通省份}, {CityID=1000, CarNoLength=6, Message=, CityName=抚顺市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=996, SpecialType=0, PShortTitle=辽, ProvinceName=辽宁省, CShortTitle=D, SpecialTypeName=普通省份}, {CityID=1001, CarNoLength=8, Message=, CityName=本溪市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=996, SpecialType=0, PShortTitle=辽, ProvinceName=辽宁省, CShortTitle=E, SpecialTypeName=普通省份}, {CityID=1002, CarNoLength=6, Message=, CityName=丹东市, EngineNoLength=8, IsNeedUserName=false, ProvinceId=996, SpecialType=0, PShortTitle=辽, ProvinceName=辽宁省, CShortTitle=F, SpecialTypeName=普通省份}, {CityID=1003, CarNoLength=6, Message=, CityName=锦州市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=996, SpecialType=0, PShortTitle=辽, ProvinceName=辽宁省, CShortTitle=G, SpecialTypeName=普通省份}, {CityID=1004, CarNoLength=6, Message=, CityName=营口市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=996, SpecialType=0, PShortTitle=辽, ProvinceName=辽宁省, CShortTitle=H, SpecialTypeName=普通省份}, {CityID=1005, CarNoLength=6, Message=, CityName=阜新市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=996, SpecialType=0, PShortTitle=辽, ProvinceName=辽宁省, CShortTitle=J, SpecialTypeName=普通省份}, {CityID=1006, CarNoLength=6, Message=, CityName=辽阳市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=996, SpecialType=0, PShortTitle=辽, ProvinceName=辽宁省, CShortTitle=K, SpecialTypeName=普通省份}, {CityID=1007, CarNoLength=6, Message=, CityName=盘锦市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=996, SpecialType=0, PShortTitle=辽, ProvinceName=辽宁省, CShortTitle=L, SpecialTypeName=普通省份}, {CityID=1008, CarNoLength=6, Message=, CityName=铁岭市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=996, SpecialType=0, PShortTitle=辽, ProvinceName=辽宁省, CShortTitle=M, SpecialTypeName=普通省份}, {CityID=1009, CarNoLength=6, Message=, CityName=朝阳市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=996, SpecialType=0, PShortTitle=辽, ProvinceName=辽宁省, CShortTitle=N, SpecialTypeName=普通省份}, {CityID=1010, CarNoLength=6, Message=, CityName=葫芦岛市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=996, SpecialType=0, PShortTitle=辽, ProvinceName=辽宁省, CShortTitle=P, SpecialTypeName=普通省份}, {CityID=1119, CarNoLength=6, Message=, CityName=黄石市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=338, SpecialType=0, PShortTitle=鄂, ProvinceName=湖北省, CShortTitle=B, SpecialTypeName=普通省份}, {CityID=1120, CarNoLength=6, Message=, CityName=十堰市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=338, SpecialType=0, PShortTitle=鄂, ProvinceName=湖北省, CShortTitle=C, SpecialTypeName=普通省份}, {CityID=1126, CarNoLength=6, Message=, CityName=荆州市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=338, SpecialType=0, PShortTitle=鄂, ProvinceName=湖北省, CShortTitle=D, SpecialTypeName=普通省份}, {CityID=1121, CarNoLength=6, Message=, CityName=宜昌市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=338, SpecialType=0, PShortTitle=鄂, ProvinceName=湖北省, CShortTitle=E, SpecialTypeName=普通省份}, {CityID=1122, CarNoLength=6, Message=, CityName=襄樊市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=338, SpecialType=0, PShortTitle=鄂, ProvinceName=湖北省, CShortTitle=F, SpecialTypeName=普通省份}, {CityID=1123, CarNoLength=6, Message=, CityName=鄂州市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=338, SpecialType=0, PShortTitle=鄂, ProvinceName=湖北省, CShortTitle=G, SpecialTypeName=普通省份}, {CityID=1124, CarNoLength=6, Message=, CityName=荆门市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=338, SpecialType=0, PShortTitle=鄂, ProvinceName=湖北省, CShortTitle=H, SpecialTypeName=普通省份}, {CityID=1127, CarNoLength=6, Message=, CityName=黄冈市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=338, SpecialType=0, PShortTitle=鄂, ProvinceName=湖北省, CShortTitle=J, SpecialTypeName=普通省份}, {CityID=1125, CarNoLength=6, Message=, CityName=孝感市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=338, SpecialType=0, PShortTitle=鄂, ProvinceName=湖北省, CShortTitle=K, SpecialTypeName=普通省份}, {CityID=1128, CarNoLength=6, Message=, CityName=咸宁市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=338, SpecialType=0, PShortTitle=鄂, ProvinceName=湖北省, CShortTitle=L, SpecialTypeName=普通省份}, {CityID=1779, CarNoLength=6, Message=, CityName=仙桃市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=338, SpecialType=0, PShortTitle=鄂, ProvinceName=湖北省, CShortTitle=M, SpecialTypeName=普通省份}, {CityID=1780, CarNoLength=6, Message=, CityName=潜江市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=338, SpecialType=0, PShortTitle=鄂, ProvinceName=湖北省, CShortTitle=N, SpecialTypeName=普通省份}, {CityID=1781, CarNoLength=6, Message=, CityName=神农架林区, EngineNoLength=0, IsNeedUserName=false, ProvinceId=338, SpecialType=0, PShortTitle=鄂, ProvinceName=湖北省, CShortTitle=P, SpecialTypeName=普通省份}, {CityID=1782, CarNoLength=6, Message=, CityName=恩施州, EngineNoLength=0, IsNeedUserName=false, ProvinceId=338, SpecialType=0, PShortTitle=鄂, ProvinceName=湖北省, CShortTitle=Q, SpecialTypeName=普通省份}, {CityID=1783, CarNoLength=6, Message=, CityName=天门市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=338, SpecialType=0, PShortTitle=鄂, ProvinceName=湖北省, CShortTitle=R, SpecialTypeName=普通省份}, {CityID=1129, CarNoLength=6, Message=, CityName=随州市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=338, SpecialType=0, PShortTitle=鄂, ProvinceName=湖北省, CShortTitle=S, SpecialTypeName=普通省份}, {CityID=171, CarNoLength=6, Message=, CityName=成都市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=163, SpecialType=0, PShortTitle=川, ProvinceName=四川省, CShortTitle=A, SpecialTypeName=普通省份}, {CityID=1174, CarNoLength=6, Message=, CityName=绵阳市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=163, SpecialType=0, PShortTitle=川, ProvinceName=四川省, CShortTitle=B, SpecialTypeName=普通省份}, {CityID=1170, CarNoLength=6, Message=, CityName=自贡市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=163, SpecialType=0, PShortTitle=川, ProvinceName=四川省, CShortTitle=C, SpecialTypeName=普通省份}, {CityID=1171, CarNoLength=6, Message=, CityName=攀枝花市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=163, SpecialType=0, PShortTitle=川, ProvinceName=四川省, CShortTitle=D, SpecialTypeName=普通省份}, {CityID=1172, CarNoLength=6, Message=, CityName=泸州市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=163, SpecialType=0, PShortTitle=川, ProvinceName=四川省, CShortTitle=E, SpecialTypeName=普通省份}, {CityID=1173, CarNoLength=6, Message=, CityName=德阳市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=163, SpecialType=0, PShortTitle=川, ProvinceName=四川省, CShortTitle=F, SpecialTypeName=普通省份}, {CityID=1175, CarNoLength=6, Message=, CityName=广元市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=163, SpecialType=0, PShortTitle=川, ProvinceName=四川省, CShortTitle=H, SpecialTypeName=普通省份}, {CityID=1176, CarNoLength=6, Message=, CityName=遂宁市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=163, SpecialType=0, PShortTitle=川, ProvinceName=四川省, CShortTitle=J, SpecialTypeName=普通省份}, {CityID=1177, CarNoLength=6, Message=, CityName=内江市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=163, SpecialType=0, PShortTitle=川, ProvinceName=四川省, CShortTitle=K, SpecialTypeName=普通省份}, {CityID=1178, CarNoLength=6, Message=, CityName=乐山市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=163, SpecialType=0, PShortTitle=川, ProvinceName=四川省, CShortTitle=L, SpecialTypeName=普通省份}, {CityID=1186, CarNoLength=6, Message=, CityName=资阳市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=163, SpecialType=0, PShortTitle=川, ProvinceName=四川省, CShortTitle=M, SpecialTypeName=普通省份}, {CityID=1181, CarNoLength=6, Message=, CityName=宜宾市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=163, SpecialType=0, PShortTitle=川, ProvinceName=四川省, CShortTitle=Q, SpecialTypeName=普通省份}, {CityID=1179, CarNoLength=6, Message=, CityName=南充市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=163, SpecialType=0, PShortTitle=川, ProvinceName=四川省, CShortTitle=R, SpecialTypeName=普通省份}, {CityID=1183, CarNoLength=6, Message=, CityName=达州市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=163, SpecialType=0, PShortTitle=川, ProvinceName=四川省, CShortTitle=S, SpecialTypeName=普通省份}, {CityID=1184, CarNoLength=6, Message=, CityName=雅安市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=163, SpecialType=0, PShortTitle=川, ProvinceName=四川省, CShortTitle=T, SpecialTypeName=普通省份}, {CityID=1784, CarNoLength=6, Message=, CityName=阿坝州, EngineNoLength=0, IsNeedUserName=false, ProvinceId=163, SpecialType=0, PShortTitle=川, ProvinceName=四川省, CShortTitle=U, SpecialTypeName=普通省份}, {CityID=1785, CarNoLength=6, Message=, CityName=甘孜州, EngineNoLength=0, IsNeedUserName=false, ProvinceId=163, SpecialType=0, PShortTitle=川, ProvinceName=四川省, CShortTitle=V, SpecialTypeName=普通省份}, {CityID=1786, CarNoLength=6, Message=, CityName=凉山州, EngineNoLength=0, IsNeedUserName=false, ProvinceId=163, SpecialType=0, PShortTitle=川, ProvinceName=四川省, CShortTitle=W, SpecialTypeName=普通省份}, {CityID=1182, CarNoLength=6, Message=, CityName=广安市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=163, SpecialType=0, PShortTitle=川, ProvinceName=四川省, CShortTitle=X, SpecialTypeName=普通省份}, {CityID=1185, CarNoLength=6, Message=, CityName=巴中市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=163, SpecialType=0, PShortTitle=川, ProvinceName=四川省, CShortTitle=Y, SpecialTypeName=普通省份}, {CityID=1180, CarNoLength=6, Message=, CityName=眉山市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=163, SpecialType=0, PShortTitle=川, ProvinceName=四川省, CShortTitle=Z, SpecialTypeName=普通省份}, {CityID=413, CarNoLength=8, Message=, CityName=西安市, EngineNoLength=8, IsNeedUserName=false, ProvinceId=412, SpecialType=0, PShortTitle=陕, ProvinceName=陕西省, CShortTitle=A, SpecialTypeName=普通省份}, {CityID=1214, CarNoLength=8, Message=, CityName=铜川市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=412, SpecialType=0, PShortTitle=陕, ProvinceName=陕西省, CShortTitle=B, SpecialTypeName=普通省份}, {CityID=1215, CarNoLength=8, Message=, CityName=宝鸡市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=412, SpecialType=0, PShortTitle=陕, ProvinceName=陕西省, CShortTitle=C, SpecialTypeName=普通省份}, {CityID=1216, CarNoLength=8, Message=, CityName=咸阳市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=412, SpecialType=0, PShortTitle=陕, ProvinceName=陕西省, CShortTitle=D, SpecialTypeName=普通省份}, {CityID=1217, CarNoLength=8, Message=, CityName=渭南市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=412, SpecialType=0, PShortTitle=陕, ProvinceName=陕西省, CShortTitle=E, SpecialTypeName=普通省份}, {CityID=1219, CarNoLength=8, Message=, CityName=汉中市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=412, SpecialType=0, PShortTitle=陕, ProvinceName=陕西省, CShortTitle=F, SpecialTypeName=普通省份}, {CityID=1221, CarNoLength=8, Message=, CityName=安康市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=412, SpecialType=0, PShortTitle=陕, ProvinceName=陕西省, CShortTitle=G, SpecialTypeName=普通省份}, {CityID=1218, CarNoLength=8, Message=, CityName=延安市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=412, SpecialType=0, PShortTitle=陕, ProvinceName=陕西省, CShortTitle=J, SpecialTypeName=普通省份}, {CityID=1220, CarNoLength=8, Message=, CityName=榆林市, EngineNoLength=8, IsNeedUserName=false, ProvinceId=412, SpecialType=0, PShortTitle=陕, ProvinceName=陕西省, CShortTitle=K, SpecialTypeName=普通省份}, {CityID=972, CarNoLength=6, Message=, CityName=太原市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=971, SpecialType=0, PShortTitle=晋, ProvinceName=山西省, CShortTitle=A, SpecialTypeName=普通省份}, {CityID=973, CarNoLength=6, Message=, CityName=大同市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=971, SpecialType=0, PShortTitle=晋, ProvinceName=山西省, CShortTitle=B, SpecialTypeName=普通省份}, {CityID=974, CarNoLength=6, Message=, CityName=阳泉市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=971, SpecialType=0, PShortTitle=晋, ProvinceName=山西省, CShortTitle=C, SpecialTypeName=普通省份}, {CityID=975, CarNoLength=6, Message=, CityName=长治市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=971, SpecialType=0, PShortTitle=晋, ProvinceName=山西省, CShortTitle=D, SpecialTypeName=普通省份}, {CityID=976, CarNoLength=6, Message=, CityName=晋城市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=971, SpecialType=0, PShortTitle=晋, ProvinceName=山西省, CShortTitle=E, SpecialTypeName=普通省份}, {CityID=977, CarNoLength=6, Message=, CityName=朔州市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=971, SpecialType=0, PShortTitle=晋, ProvinceName=山西省, CShortTitle=F, SpecialTypeName=普通省份}, {CityID=1787, CarNoLength=6, Message=, CityName=雁北市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=971, SpecialType=0, PShortTitle=晋, ProvinceName=山西省, CShortTitle=G, SpecialTypeName=普通省份}, {CityID=980, CarNoLength=6, Message=, CityName=忻州市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=971, SpecialType=0, PShortTitle=晋, ProvinceName=山西省, CShortTitle=H, SpecialTypeName=普通省份}, {CityID=982, CarNoLength=6, Message=, CityName=吕梁市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=971, SpecialType=0, PShortTitle=晋, ProvinceName=山西省, CShortTitle=J, SpecialTypeName=普通省份}, {CityID=979, CarNoLength=6, Message=, CityName=运城市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=971, SpecialType=0, PShortTitle=晋, ProvinceName=山西省, CShortTitle=K, SpecialTypeName=普通省份}, {CityID=411, CarNoLength=8, Message=, CityName=郑州市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=343, SpecialType=0, PShortTitle=豫, ProvinceName=河南省, CShortTitle=A, SpecialTypeName=普通省份}, {CityID=1103, CarNoLength=0, Message=, CityName=开封市, EngineNoLength=8, IsNeedUserName=false, ProvinceId=343, SpecialType=0, PShortTitle=豫, ProvinceName=河南省, CShortTitle=B, SpecialTypeName=普通省份}, {CityID=1104, CarNoLength=0, Message=, CityName=洛阳市, EngineNoLength=8, IsNeedUserName=false, ProvinceId=343, SpecialType=0, PShortTitle=豫, ProvinceName=河南省, CShortTitle=C, SpecialTypeName=普通省份}, {CityID=1105, CarNoLength=0, Message=, CityName=平顶山市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=343, SpecialType=0, PShortTitle=豫, ProvinceName=河南省, CShortTitle=D, SpecialTypeName=普通省份}, {CityID=1106, CarNoLength=0, Message=, CityName=安阳市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=343, SpecialType=0, PShortTitle=豫, ProvinceName=河南省, CShortTitle=E, SpecialTypeName=普通省份}, {CityID=1107, CarNoLength=0, Message=, CityName=鹤壁市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=343, SpecialType=0, PShortTitle=豫, ProvinceName=河南省, CShortTitle=F, SpecialTypeName=普通省份}, {CityID=1108, CarNoLength=0, Message=, CityName=新乡市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=343, SpecialType=0, PShortTitle=豫, ProvinceName=河南省, CShortTitle=G, SpecialTypeName=普通省份}, {CityID=1109, CarNoLength=0, Message=, CityName=焦作市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=343, SpecialType=0, PShortTitle=豫, ProvinceName=河南省, CShortTitle=H, SpecialTypeName=普通省份}, {CityID=1110, CarNoLength=0, Message=, CityName=濮阳市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=343, SpecialType=0, PShortTitle=豫, ProvinceName=河南省, CShortTitle=J, SpecialTypeName=普通省份}, {CityID=1111, CarNoLength=0, Message=, CityName=许昌市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=343, SpecialType=0, PShortTitle=豫, ProvinceName=河南省, CShortTitle=K, SpecialTypeName=普通省份}, {CityID=1113, CarNoLength=0, Message=, CityName=三门峡市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=343, SpecialType=0, PShortTitle=豫, ProvinceName=河南省, CShortTitle=M, SpecialTypeName=普通省份}, {CityID=1114, CarNoLength=0, Message=, CityName=南阳市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=343, SpecialType=0, PShortTitle=豫, ProvinceName=河南省, CShortTitle=R, SpecialTypeName=普通省份}, {CityID=1053, CarNoLength=6, Message=, CityName=合肥市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=1052, SpecialType=0, PShortTitle=皖, ProvinceName=安徽省, CShortTitle=A, SpecialTypeName=普通省份}, {CityID=1054, CarNoLength=6, Message=, CityName=芜湖市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=1052, SpecialType=0, PShortTitle=皖, ProvinceName=安徽省, CShortTitle=B, SpecialTypeName=普通省份}, {CityID=1055, CarNoLength=6, Message=, CityName=蚌埠市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=1052, SpecialType=0, PShortTitle=皖, ProvinceName=安徽省, CShortTitle=C, SpecialTypeName=普通省份}, {CityID=1056, CarNoLength=6, Message=, CityName=淮南市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=1052, SpecialType=0, PShortTitle=皖, ProvinceName=安徽省, CShortTitle=D, SpecialTypeName=普通省份}, {CityID=1057, CarNoLength=6, Message=, CityName=马鞍山市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=1052, SpecialType=0, PShortTitle=皖, ProvinceName=安徽省, CShortTitle=E, SpecialTypeName=普通省份}, {CityID=1058, CarNoLength=6, Message=, CityName=淮北市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=1052, SpecialType=0, PShortTitle=皖, ProvinceName=安徽省, CShortTitle=F, SpecialTypeName=普通省份}, {CityID=1059, CarNoLength=6, Message=, CityName=铜陵市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=1052, SpecialType=0, PShortTitle=皖, ProvinceName=安徽省, CShortTitle=G, SpecialTypeName=普通省份}, {CityID=1060, CarNoLength=6, Message=, CityName=安庆市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=1052, SpecialType=0, PShortTitle=皖, ProvinceName=安徽省, CShortTitle=H, SpecialTypeName=普通省份}, {CityID=1061, CarNoLength=6, Message=, CityName=黄山市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=1052, SpecialType=0, PShortTitle=皖, ProvinceName=安徽省, CShortTitle=J, SpecialTypeName=普通省份}, {CityID=1063, CarNoLength=6, Message=, CityName=阜阳市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=1052, SpecialType=0, PShortTitle=皖, ProvinceName=安徽省, CShortTitle=K, SpecialTypeName=普通省份}, {CityID=1064, CarNoLength=6, Message=, CityName=宿州市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=1052, SpecialType=0, PShortTitle=皖, ProvinceName=安徽省, CShortTitle=L, SpecialTypeName=普通省份}, {CityID=1062, CarNoLength=6, Message=, CityName=滁州市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=1052, SpecialType=0, PShortTitle=皖, ProvinceName=安徽省, CShortTitle=M, SpecialTypeName=普通省份}, {CityID=1066, CarNoLength=6, Message=, CityName=六安市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=1052, SpecialType=0, PShortTitle=皖, ProvinceName=安徽省, CShortTitle=N, SpecialTypeName=普通省份}, {CityID=1069, CarNoLength=6, Message=, CityName=宣城市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=1052, SpecialType=0, PShortTitle=皖, ProvinceName=安徽省, CShortTitle=P, SpecialTypeName=普通省份}, {CityID=1065, CarNoLength=6, Message=, CityName=巢湖市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=1052, SpecialType=0, PShortTitle=皖, ProvinceName=安徽省, CShortTitle=Q, SpecialTypeName=普通省份}, {CityID=1068, CarNoLength=6, Message=, CityName=池州市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=1052, SpecialType=0, PShortTitle=皖, ProvinceName=安徽省, CShortTitle=R, SpecialTypeName=普通省份}, {CityID=1067, CarNoLength=6, Message=, CityName=亳州市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=1052, SpecialType=0, PShortTitle=皖, ProvinceName=安徽省, CShortTitle=S, SpecialTypeName=普通省份}, {CityID=348, CarNoLength=0, Message=, CityName=贵阳市, EngineNoLength=6, IsNeedUserName=false, ProvinceId=337, SpecialType=0, PShortTitle=贵, ProvinceName=贵州省, CShortTitle=A, SpecialTypeName=普通省份}, {CityID=1191, CarNoLength=0, Message=, CityName=六盘水市, EngineNoLength=6, IsNeedUserName=false, ProvinceId=337, SpecialType=0, PShortTitle=贵, ProvinceName=贵州省, CShortTitle=B, SpecialTypeName=普通省份}, {CityID=1192, CarNoLength=0, Message=, CityName=遵义市, EngineNoLength=6, IsNeedUserName=false, ProvinceId=337, SpecialType=0, PShortTitle=贵, ProvinceName=贵州省, CShortTitle=C, SpecialTypeName=普通省份}, {CityID=1194, CarNoLength=0, Message=, CityName=铜仁地区, EngineNoLength=6, IsNeedUserName=false, ProvinceId=337, SpecialType=0, PShortTitle=贵, ProvinceName=贵州省, CShortTitle=D, SpecialTypeName=普通省份}, {CityID=1788, CarNoLength=0, Message=, CityName=黔西南州, EngineNoLength=6, IsNeedUserName=false, ProvinceId=337, SpecialType=0, PShortTitle=贵, ProvinceName=贵州省, CShortTitle=E, SpecialTypeName=普通省份}, {CityID=1196, CarNoLength=0, Message=, CityName=毕节地区, EngineNoLength=6, IsNeedUserName=false, ProvinceId=337, SpecialType=0, PShortTitle=贵, ProvinceName=贵州省, CShortTitle=F, SpecialTypeName=普通省份}, {CityID=1193, CarNoLength=0, Message=, CityName=安顺市, EngineNoLength=6, IsNeedUserName=false, ProvinceId=337, SpecialType=0, PShortTitle=贵, ProvinceName=贵州省, CShortTitle=G, SpecialTypeName=普通省份}, {CityID=1789, CarNoLength=0, Message=, CityName=黔东南州, EngineNoLength=6, IsNeedUserName=false, ProvinceId=337, SpecialType=0, PShortTitle=贵, ProvinceName=贵州省, CShortTitle=H, SpecialTypeName=普通省份}, {CityID=1790, CarNoLength=0, Message=, CityName=黔南州, EngineNoLength=6, IsNeedUserName=false, ProvinceId=337, SpecialType=0, PShortTitle=贵, ProvinceName=贵州省, CShortTitle=J, SpecialTypeName=普通省份}, {CityID=1235, CarNoLength=8, Message=, CityName=兰州市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=1231, SpecialType=0, PShortTitle=甘, ProvinceName=甘肃省, CShortTitle=A, SpecialTypeName=普通省份}, {CityID=1236, CarNoLength=8, Message=, CityName=嘉峪关市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=1231, SpecialType=0, PShortTitle=甘, ProvinceName=甘肃省, CShortTitle=B, SpecialTypeName=普通省份}, {CityID=1237, CarNoLength=8, Message=, CityName=金昌市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=1231, SpecialType=0, PShortTitle=甘, ProvinceName=甘肃省, CShortTitle=C, SpecialTypeName=普通省份}, {CityID=1238, CarNoLength=8, Message=, CityName=白银市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=1231, SpecialType=0, PShortTitle=甘, ProvinceName=甘肃省, CShortTitle=D, SpecialTypeName=普通省份}, {CityID=1239, CarNoLength=8, Message=, CityName=天水市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=1231, SpecialType=0, PShortTitle=甘, ProvinceName=甘肃省, CShortTitle=E, SpecialTypeName=普通省份}, {CityID=1243, CarNoLength=8, Message=, CityName=酒泉市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=1231, SpecialType=0, PShortTitle=甘, ProvinceName=甘肃省, CShortTitle=F, SpecialTypeName=普通省份}, {CityID=1241, CarNoLength=8, Message=, CityName=张掖市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=1231, SpecialType=0, PShortTitle=甘, ProvinceName=甘肃省, CShortTitle=G, SpecialTypeName=普通省份}, {CityID=1240, CarNoLength=8, Message=, CityName=武威市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=1231, SpecialType=0, PShortTitle=甘, ProvinceName=甘肃省, CShortTitle=H, SpecialTypeName=普通省份}, {CityID=1245, CarNoLength=8, Message=, CityName=定西市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=1231, SpecialType=0, PShortTitle=甘, ProvinceName=甘肃省, CShortTitle=J, SpecialTypeName=普通省份}, {CityID=1246, CarNoLength=8, Message=, CityName=陇南市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=1231, SpecialType=0, PShortTitle=甘, ProvinceName=甘肃省, CShortTitle=K, SpecialTypeName=普通省份}, {CityID=1242, CarNoLength=8, Message=, CityName=平凉市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=1231, SpecialType=0, PShortTitle=甘, ProvinceName=甘肃省, CShortTitle=L, SpecialTypeName=普通省份}, {CityID=1244, CarNoLength=8, Message=, CityName=庆阳市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=1231, SpecialType=0, PShortTitle=甘, ProvinceName=甘肃省, CShortTitle=M, SpecialTypeName=普通省份}, {CityID=1791, CarNoLength=8, Message=, CityName=临夏州, EngineNoLength=0, IsNeedUserName=false, ProvinceId=1231, SpecialType=0, PShortTitle=甘, ProvinceName=甘肃省, CShortTitle=N, SpecialTypeName=普通省份}, {CityID=1792, CarNoLength=8, Message=, CityName=甘南州, EngineNoLength=0, IsNeedUserName=false, ProvinceId=1231, SpecialType=0, PShortTitle=甘, ProvinceName=甘肃省, CShortTitle=P, SpecialTypeName=普通省份}, {CityID=1257, CarNoLength=8, Message=, CityName=银川市, EngineNoLength=8, IsNeedUserName=false, ProvinceId=1233, SpecialType=0, PShortTitle=宁, ProvinceName=宁夏回族自治区, CShortTitle=A, SpecialTypeName=普通省份}, {CityID=1258, CarNoLength=8, Message=, CityName=石嘴山市, EngineNoLength=8, IsNeedUserName=false, ProvinceId=1233, SpecialType=0, PShortTitle=宁, ProvinceName=宁夏回族自治区, CShortTitle=B, SpecialTypeName=普通省份}, {CityID=1259, CarNoLength=8, Message=, CityName=吴忠市, EngineNoLength=8, IsNeedUserName=false, ProvinceId=1233, SpecialType=0, PShortTitle=宁, ProvinceName=宁夏回族自治区, CShortTitle=C, SpecialTypeName=普通省份}, {CityID=1260, CarNoLength=8, Message=, CityName=固原市, EngineNoLength=8, IsNeedUserName=false, ProvinceId=1233, SpecialType=0, PShortTitle=宁, ProvinceName=宁夏回族自治区, CShortTitle=D, SpecialTypeName=普通省份}, {CityID=1261, CarNoLength=8, Message=, CityName=中卫市, EngineNoLength=8, IsNeedUserName=false, ProvinceId=1233, SpecialType=0, PShortTitle=宁, ProvinceName=宁夏回族自治区, CShortTitle=E, SpecialTypeName=普通省份}, {CityID=1022, CarNoLength=8, Message=, CityName=哈尔滨市, EngineNoLength=8, IsNeedUserName=false, ProvinceId=1021, SpecialType=0, PShortTitle=黑, ProvinceName=黑龙江省, CShortTitle=A, SpecialTypeName=普通省份}, {CityID=1023, CarNoLength=8, Message=, CityName=齐齐哈尔市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=1021, SpecialType=0, PShortTitle=黑, ProvinceName=黑龙江省, CShortTitle=B, SpecialTypeName=普通省份}, {CityID=1031, CarNoLength=8, Message=, CityName=牡丹江市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=1021, SpecialType=0, PShortTitle=黑, ProvinceName=黑龙江省, CShortTitle=C, SpecialTypeName=普通省份}, {CityID=1029, CarNoLength=8, Message=, CityName=佳木斯市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=1021, SpecialType=0, PShortTitle=黑, ProvinceName=黑龙江省, CShortTitle=D, SpecialTypeName=普通省份}, {CityID=1027, CarNoLength=8, Message=, CityName=大庆市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=1021, SpecialType=0, PShortTitle=黑, ProvinceName=黑龙江省, CShortTitle=E, SpecialTypeName=普通省份}, {CityID=1028, CarNoLength=8, Message=, CityName=伊春市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=1021, SpecialType=0, PShortTitle=黑, ProvinceName=黑龙江省, CShortTitle=F, SpecialTypeName=普通省份}, {CityID=1024, CarNoLength=8, Message=, CityName=鸡西市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=1021, SpecialType=0, PShortTitle=黑, ProvinceName=黑龙江省, CShortTitle=G, SpecialTypeName=普通省份}, {CityID=1025, CarNoLength=8, Message=, CityName=鹤岗市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=1021, SpecialType=0, PShortTitle=黑, ProvinceName=黑龙江省, CShortTitle=H, SpecialTypeName=普通省份}, {CityID=1026, CarNoLength=8, Message=, CityName=双鸭山市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=1021, SpecialType=0, PShortTitle=黑, ProvinceName=黑龙江省, CShortTitle=J, SpecialTypeName=普通省份}, {CityID=1030, CarNoLength=8, Message=, CityName=七台河市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=1021, SpecialType=0, PShortTitle=黑, ProvinceName=黑龙江省, CShortTitle=K, SpecialTypeName=普通省份}, {CityID=1033, CarNoLength=8, Message=, CityName=绥化市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=1021, SpecialType=0, PShortTitle=黑, ProvinceName=黑龙江省, CShortTitle=M, SpecialTypeName=普通省份}, {CityID=1032, CarNoLength=8, Message=, CityName=黑河市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=1021, SpecialType=0, PShortTitle=黑, ProvinceName=黑龙江省, CShortTitle=N, SpecialTypeName=普通省份}, {CityID=1794, CarNoLength=8, Message=, CityName=大兴安岭地区, EngineNoLength=0, IsNeedUserName=false, ProvinceId=1021, SpecialType=0, PShortTitle=黑, ProvinceName=黑龙江省, CShortTitle=P, SpecialTypeName=普通省份}, {CityID=1012, CarNoLength=0, Message=, CityName=长春市, EngineNoLength=8, IsNeedUserName=false, ProvinceId=1011, SpecialType=0, PShortTitle=吉, ProvinceName=吉林省, CShortTitle=A, SpecialTypeName=普通省份}, {CityID=1795, CarNoLength=0, Message=, CityName=延边州, EngineNoLength=8, IsNeedUserName=false, ProvinceId=1011, SpecialType=0, PShortTitle=吉, ProvinceName=吉林省, CShortTitle=H, SpecialTypeName=普通省份}, {CityID=166, CarNoLength=6, Message=, CityName=海口市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=160, SpecialType=0, PShortTitle=琼, ProvinceName=海南省, CShortTitle=A, SpecialTypeName=普通省份}, {CityID=167, CarNoLength=6, Message=, CityName=三亚市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=160, SpecialType=0, PShortTitle=琼, ProvinceName=海南省, CShortTitle=B, SpecialTypeName=普通省份}, {CityID=984, CarNoLength=6, Message=, CityName=呼和浩特市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=983, SpecialType=0, PShortTitle=蒙, ProvinceName=内蒙古, CShortTitle=A, SpecialTypeName=普通省份}, {CityID=985, CarNoLength=6, Message=, CityName=包头市, EngineNoLength=8, IsNeedUserName=false, ProvinceId=983, SpecialType=0, PShortTitle=蒙, ProvinceName=内蒙古, CShortTitle=B, SpecialTypeName=普通省份}, {CityID=989, CarNoLength=6, Message=, CityName=鄂尔多斯市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=983, SpecialType=0, PShortTitle=蒙, ProvinceName=内蒙古, CShortTitle=K, SpecialTypeName=普通省份}, {CityID=172, CarNoLength=6, Message=, CityName=昆明市, EngineNoLength=6, IsNeedUserName=false, ProvinceId=164, SpecialType=0, PShortTitle=云, ProvinceName=云南省, CShortTitle=A, SpecialTypeName=普通省份}, {CityID=1202, CarNoLength=6, Message=, CityName=昭通市, EngineNoLength=6, IsNeedUserName=false, ProvinceId=164, SpecialType=0, PShortTitle=云, ProvinceName=云南省, CShortTitle=C, SpecialTypeName=普通省份}, {CityID=1200, CarNoLength=6, Message=, CityName=玉溪市, EngineNoLength=6, IsNeedUserName=false, ProvinceId=164, SpecialType=0, PShortTitle=云, ProvinceName=云南省, CShortTitle=F, SpecialTypeName=普通省份}, {CityID=1796, CarNoLength=6, Message=, CityName=红河州, EngineNoLength=6, IsNeedUserName=false, ProvinceId=164, SpecialType=0, PShortTitle=云, ProvinceName=云南省, CShortTitle=G, SpecialTypeName=普通省份}, {CityID=1797, CarNoLength=6, Message=, CityName=普洱市, EngineNoLength=6, IsNeedUserName=false, ProvinceId=164, SpecialType=0, PShortTitle=云, ProvinceName=云南省, CShortTitle=J, SpecialTypeName=普通省份}, {CityID=665, CarNoLength=6, Message=, CityName=南昌市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=664, SpecialType=0, PShortTitle=赣, ProvinceName=江西省, CShortTitle=A, SpecialTypeName=普通省份}, {CityID=1083, CarNoLength=6, Message=, CityName=赣州市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=664, SpecialType=0, PShortTitle=赣, ProvinceName=江西省, CShortTitle=B, SpecialTypeName=普通省份}, {CityID=1085, CarNoLength=6, Message=, CityName=宜春市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=664, SpecialType=0, PShortTitle=赣, ProvinceName=江西省, CShortTitle=C, SpecialTypeName=普通省份}, {CityID=1084, CarNoLength=6, Message=, CityName=吉安市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=664, SpecialType=0, PShortTitle=赣, ProvinceName=江西省, CShortTitle=D, SpecialTypeName=普通省份}, {CityID=1087, CarNoLength=6, Message=, CityName=上饶市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=664, SpecialType=0, PShortTitle=赣, ProvinceName=江西省, CShortTitle=E, SpecialTypeName=普通省份}, {CityID=1086, CarNoLength=6, Message=, CityName=抚州市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=664, SpecialType=0, PShortTitle=赣, ProvinceName=江西省, CShortTitle=F, SpecialTypeName=普通省份}, {CityID=1080, CarNoLength=6, Message=, CityName=九江市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=664, SpecialType=0, PShortTitle=赣, ProvinceName=江西省, CShortTitle=G, SpecialTypeName=普通省份}, {CityID=1078, CarNoLength=6, Message=, CityName=景德镇市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=664, SpecialType=0, PShortTitle=赣, ProvinceName=江西省, CShortTitle=H, SpecialTypeName=普通省份}, {CityID=1079, CarNoLength=6, Message=, CityName=萍乡市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=664, SpecialType=0, PShortTitle=赣, ProvinceName=江西省, CShortTitle=J, SpecialTypeName=普通省份}, {CityID=1081, CarNoLength=6, Message=, CityName=新余市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=664, SpecialType=0, PShortTitle=赣, ProvinceName=江西省, CShortTitle=K, SpecialTypeName=普通省份}, {CityID=1082, CarNoLength=6, Message=, CityName=鹰潭市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=664, SpecialType=0, PShortTitle=赣, ProvinceName=江西省, CShortTitle=L, SpecialTypeName=普通省份}, {CityID=347, CarNoLength=6, Message=, CityName=武汉市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=338, SpecialType=0, PShortTitle=鄂, ProvinceName=湖北省, CShortTitle=A, SpecialTypeName=普通省份}, {CityID=986, CarNoLength=6, Message=, CityName=乌海市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=983, SpecialType=0, PShortTitle=蒙, ProvinceName=内蒙古, CShortTitle=C, SpecialTypeName=普通省份}, {CityID=987, CarNoLength=6, Message=, CityName=赤峰市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=983, SpecialType=0, PShortTitle=蒙, ProvinceName=内蒙古, CShortTitle=D, SpecialTypeName=普通省份}, {CityID=990, CarNoLength=6, Message=, CityName=呼伦贝尔市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=983, SpecialType=0, PShortTitle=蒙, ProvinceName=内蒙古, CShortTitle=E, SpecialTypeName=普通省份}, {CityID=993, CarNoLength=6, Message=, CityName=兴安盟, EngineNoLength=0, IsNeedUserName=false, ProvinceId=983, SpecialType=0, PShortTitle=蒙, ProvinceName=内蒙古, CShortTitle=F, SpecialTypeName=普通省份}, {CityID=988, CarNoLength=6, Message=, CityName=通辽市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=983, SpecialType=0, PShortTitle=蒙, ProvinceName=内蒙古, CShortTitle=G, SpecialTypeName=普通省份}, {CityID=994, CarNoLength=6, Message=, CityName=锡林郭勒盟, EngineNoLength=0, IsNeedUserName=false, ProvinceId=983, SpecialType=0, PShortTitle=蒙, ProvinceName=内蒙古, CShortTitle=H, SpecialTypeName=普通省份}, {CityID=992, CarNoLength=6, Message=, CityName=乌兰察布市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=983, SpecialType=0, PShortTitle=蒙, ProvinceName=内蒙古, CShortTitle=J, SpecialTypeName=普通省份}, {CityID=991, CarNoLength=6, Message=, CityName=巴彦淖尔市, EngineNoLength=0, IsNeedUserName=false, ProvinceId=983, SpecialType=0, PShortTitle=蒙, ProvinceName=内蒙古, CShortTitle=L, SpecialTypeName=普通省份}, {CityID=995, CarNoLength=6, Message=, CityName=阿拉善盟, EngineNoLength=0, IsNeedUserName=false, ProvinceId=983, SpecialType=0, PShortTitle=蒙, ProvinceName=内蒙古, CShortTitle=M, SpecialTypeName=普通省份}, {CityID=1199, CarNoLength=6, Message=, CityName=曲靖市, EngineNoLength=6, IsNeedUserName=false, ProvinceId=164, SpecialType=0, PShortTitle=云, ProvinceName=云南省, CShortTitle=D, SpecialTypeName=普通省份}, {CityID=1206, CarNoLength=6, Message=, CityName=楚雄彝族自治州, EngineNoLength=6, IsNeedUserName=false, ProvinceId=164, SpecialType=0, PShortTitle=云, ProvinceName=云南省, CShortTitle=E, SpecialTypeName=普通省份}, {CityID=1208, CarNoLength=6, Message=, CityName=文山壮族苗族自治州, EngineNoLength=6, IsNeedUserName=false, ProvinceId=164, SpecialType=0, PShortTitle=云, ProvinceName=云南省, CShortTitle=H, SpecialTypeName=普通省份}, {CityID=1209, CarNoLength=6, Message=, CityName=西双版纳傣族自治州, EngineNoLength=6, IsNeedUserName=false, ProvinceId=164, SpecialType=0, PShortTitle=云, ProvinceName=云南省, CShortTitle=K, SpecialTypeName=普通省份}, {CityID=1210, CarNoLength=6, Message=, CityName=大理白族自治州, EngineNoLength=6, IsNeedUserName=false, ProvinceId=164, SpecialType=0, PShortTitle=云, ProvinceName=云南省, CShortTitle=L, SpecialTypeName=普通省份}, {CityID=1201, CarNoLength=6, Message=, CityName=保山市, EngineNoLength=6, IsNeedUserName=false, ProvinceId=164, SpecialType=0, PShortTitle=云, ProvinceName=云南省, CShortTitle=M, SpecialTypeName=普通省份}, {CityID=1211, CarNoLength=6, Message=, CityName=德宏傣族景颇族自治州, EngineNoLength=6, IsNeedUserName=false, ProvinceId=164, SpecialType=0, PShortTitle=云, ProvinceName=云南省, CShortTitle=N, SpecialTypeName=普通省份}, {CityID=1203, CarNoLength=6, Message=, CityName=丽江市, EngineNoLength=6, IsNeedUserName=false, ProvinceId=164, SpecialType=0, PShortTitle=云, ProvinceName=云南省, CShortTitle=P, SpecialTypeName=普通省份}, {CityID=1212, CarNoLength=6, Message=, CityName=怒江傈僳族自治州, EngineNoLength=6, IsNeedUserName=false, ProvinceId=164, SpecialType=0, PShortTitle=云, ProvinceName=云南省, CShortTitle=Q, SpecialTypeName=普通省份}, {CityID=1213, CarNoLength=6, Message=, CityName=迪庆藏族自治州, EngineNoLength=6, IsNeedUserName=false, ProvinceId=164, SpecialType=0, PShortTitle=云, ProvinceName=云南省, CShortTitle=R, SpecialTypeName=普通省份}, {CityID=1205, CarNoLength=6, Message=, CityName=临沧市, EngineNoLength=6, IsNeedUserName=false, ProvinceId=164, SpecialType=0, PShortTitle=云, ProvinceName=云南省, CShortTitle=S, SpecialTypeName=普通省份}]}
     * 获取违章查询规则
     *
     * @throws Exception
     */
    public void getVoitureRules() throws Exception {
        if (null == voitureRulesMap) initVoitureRules();

        provinceId = getJsonString("provinceId");
        cityId = getJsonString("cityId");
        pShortTitle = getJsonString("pShortTitle");

        if (StringUtils.isEmpty(provinceId)) {
            log.info("获取违章查询规则时, 传入参数provinceId为空");
            sendAppErrorMsg("6001", "provinceId");
            return;
        }
        if (StringUtils.isEmpty(cityId)) {
            log.info("获取违章查询规则时, 传入参数cityId为空");
            sendAppErrorMsg("6001", "cityId");
            return;
        }
        if (StringUtils.isEmpty(provinceId)) {
            log.info("获取邮寄城市时, 传入参数pShortTitle为空");
            sendAppErrorMsg("6001", "pShortTitle");
            return;
        }

        Map<String, Object> result = new LinkedHashMap<String, Object>();
        result.put("reqCode", "0000");
        result.put("reqMsg", "获取违章查询规则！");
        result.putAll(voitureRulesMap.get(pShortTitle + "_" + provinceId + "_" + cityId));
        //result.put("list", );
        sendAppMsg(result);
    }

    /**
     * 获取邮寄省
     *
     * @throws Exception
     */
    public void getProvince() throws Exception {
        if (provinceList.size() == 0) initVoitureCity();

        Map<String, Object> result = new LinkedHashMap<String, Object>();
        result.put("reqCode", "0000");
        result.put("reqMsg", "获取邮寄省成功！");
        result.put("list", provinceList);
        sendAppMsg(result);
    }

    /**
     * 获取邮寄市
     *
     * @throws Exception
     */
    public void getCity() throws Exception {
        provinceId = getJsonString("provinceId");
        if (StringUtils.isEmpty(provinceId)) {
            log.info("获取邮寄城市时, 传入参数provinceId为空");
            sendAppErrorMsg("6001", "provinceId");
            return;
        }

        Map<String, Object> result = new LinkedHashMap<String, Object>();
        result.put("reqCode", "0000");
        result.put("reqMsg", "获取邮寄城市成功！");
        result.put("list", cityHashes.get(provinceId));
        sendAppMsg(result);
    }

    /**
     * 获取违章信息
     *
     * @throws Exception
     */
    public void getVoitureInfo() throws Exception {
        shopSign = getJsonString("shopSign");
        ownerCar = getJsonString("ownerCar");
        voitureNo = getJsonString("voitureNo");
        engineNo = getJsonString("engineNo");
        carType = getJsonString("carType");
        provinceName = getJsonString("provinceName");
        cityName = getJsonString("cityName");

        log.debug("shopSign = " + shopSign);
        log.debug("ownerCar = " + ownerCar);
        log.debug("voitureNo = " + voitureNo);
        log.debug("engineNo = " + engineNo);
        log.debug("carType = " + carType);
        log.debug("cityName = " + cityName);
        log.debug("provinceName = " + provinceName);
        if (StringUtils.isEmpty(shopSign)) {
            log.info("获取违章信息时, 传入参数shopSign为空");
            sendAppErrorMsg("6001", "shopSign");
            return;
        }
        /*if(StringUtils.isEmpty(ownerCar)){
			log.info("获取违章信息时, 传入参数ownerCar为空");
			sendAppErrorMsg("6001", "ownerCar");
			return ;
		}*/
		/*if(StringUtils.isEmpty(voitureNo)){
			log.info("获取违章信息时, 传入参数voitureNo为空");
			sendAppErrorMsg("6001", "voitureNo");
			return ;
		}*/
        if (StringUtils.isEmpty(engineNo)) {
            log.info("获取违章信息时, 传入参数engineNo为空");
            sendAppErrorMsg("6001", "engineNo");
            return;
        }
        if (StringUtils.isEmpty(carType)) {
            log.info("获取违章信息时, 传入参数carType为空");
            sendAppErrorMsg("6001", "carType");
            return;
        }
        if (StringUtils.isEmpty(provinceName)) {
            log.info("获取违章信息时, 传入参数provinceName为空");
            sendAppErrorMsg("6001", "provinceName");
            return;
        }
        if (StringUtils.isEmpty(cityName)) {
            log.info("获取违章信息时, 传入参数cityName为空");
            sendAppErrorMsg("6001", "cityName");
            return;
        }
        if (null == ownerCar) {
            ownerCar = "";
        }
        if (null == voitureNo) {
            voitureNo = "";
        }


        try {
            functionKey = "ADDED_ILLEGAL_AGENT";
            if (!checkPIV(functionKey)) {
                log.warn("获取违章信息时, 接口暂停使用！");
                return;
            }

//			Map<String,Object> result = violation.GetViolationsVoitureInfo(shopSign,ownerCar,voitureNo,engineNo,carType,provinceName,cityName);
//
//			sendAppMsg(result);

//			String ss = "{\"codeID\":\"1\",\"reqMsg\":\"操作成功\",\"description\":\"查询成功\",\"reqCode\":\"0000\",\"displayprompt\":\"查询成功\",\"list\":[{\"provinceId\":\"2\",\"violationRoad\":\"广州市越秀区站南路_广州市越秀区站南路路段\",\"porint\":\"0\",\"cityId\":\"165\",\"regulationName\":\"左转弯不靠路口中心行驶\",\"cityName\":\"广州市\",\"payCharge\":\"55\",\"violationTime\":\"2014-04-16 14:46:00\",\"dealId\":\"3\",\"regulationId\":\"67928\",\"isOnSiteSingle\":\"false\",\"regulationSN\":\"1209\",\"fineAmount\":\"0\",\"dealaddress\":\"\",\"cityAreaId\":\"55\",\"errrorMsg\":\"抱歉…该违章目前不能提供代缴服务！ \",\"tempId\":\"yueB_2014-1167\"},{\"provinceId\":\"2\",\"violationRoad\":\"广州市越秀区建设中马路_建设中马路路段\",\"porint\":\"0\",\"cityId\":\"165\",\"regulationName\":\"机动车违反规定停放、临时停车，驾驶人不在现场或者虽在现场但驾驶人拒绝立即驶离，妨碍其它车辆、行人通行\",\"cityName\":\"广州市\",\"payCharge\":\"55\",\"violationTime\":\"2014-04-17 23:36:00\",\"dealId\":\"3\",\"regulationId\":\"67929\",\"isOnSiteSingle\":\"false\",\"regulationSN\":\"\",\"fineAmount\":\"0\",\"dealaddress\":\"\",\"cityAreaId\":\"55\",\"errrorMsg\":\"抱歉…该违章目前不能提供代缴服务！ \",\"tempId\":\"yueB_2014-1168\"},{\"provinceId\":\"2\",\"violationRoad\":\"金凤路路段东行至金凤路\",\"porint\":\"0\",\"cityId\":\"1143\",\"regulationName\":\"达到或者超过规定时速50%\",\"cityName\":\"汕头市\",\"payCharge\":\"65\",\"violationTime\":\"2014-04-26 15:16:00\",\"dealId\":\"1\",\"regulationId\":\"67930\",\"isOnSiteSingle\":\"false\",\"regulationSN\":\"\",\"fineAmount\":\"0\",\"dealaddress\":\"\",\"cityAreaId\":\"162\",\"errrorMsg\":\"抱歉…该违章目前不能提供代缴服务！ \",\"tempId\":\"yueB_2014-1169\"},{\"provinceId\":\"2\",\"violationRoad\":\"沈海高速2597公里800米至沈海高速\",\"porint\":\"0\",\"cityId\":\"1143\",\"regulationName\":\"不按交通信号指示通行\",\"cityName\":\"汕头市\",\"payCharge\":\"65\",\"violationTime\":\"2014-04-26 09:03:00\",\"dealId\":\"1\",\"regulationId\":\"67931\",\"isOnSiteSingle\":\"false\",\"regulationSN\":\"\",\"fineAmount\":\"0\",\"dealaddress\":\"\",\"cityAreaId\":\"162\",\"errrorMsg\":\"抱歉…该违章目前不能提供代缴服务！ \",\"tempId\":\"yueB_2014-1170\"},{\"provinceId\":\"2\",\"violationRoad\":\"礐石大桥北行\",\"porint\":\"3\",\"cityId\":\"1143\",\"regulationName\":\"机动车行驶超过规定时速10%以上30%以下的\",\"cityName\":\"汕头市\",\"payCharge\":\"0\",\"violationTime\":\"2014-05-03 21:53:00\",\"dealId\":\"1\",\"regulationId\":\"67932\",\"isOnSiteSingle\":\"false\",\"regulationSN\":\"13031\",\"fineAmount\":\"100\",\"dealaddress\":\"\",\"cityAreaId\":\"0\",\"errrorMsg\":\"因违法行为涉及扣分事项，须驾驶者本人前往当地处罚机构接受处理！\",\"tempId\":\"yueB_2014-1171\"},{\"provinceId\":\"2\",\"violationRoad\":\"东风西路_德坭高架\",\"porint\":\"3\",\"cityId\":\"165\",\"regulationName\":\"机动车违反禁止标线指示的\",\"cityName\":\"广州市\",\"payCharge\":\"55\",\"violationTime\":\"2014-05-03 13:04:00\",\"dealId\":\"1\",\"regulationId\":\"60684\",\"isOnSiteSingle\":\"false\",\"regulationSN\":\"1345\",\"fineAmount\":\"200\",\"dealaddress\":\"\",\"cityAreaId\":\"55\",\"errrorMsg\":\"因违法行为涉及扣分事项，须驾驶者本人前往当地处罚机构接受处理！\",\"tempId\":\"yueB_2014-1172\"},{\"provinceId\":\"2\",\"violationRoad\":\"广州市越秀区建设中马路_建设中马路\",\"porint\":\"3\",\"cityId\":\"165\",\"regulationName\":\"机动车违反禁令标志指示的\",\"cityName\":\"广州市\",\"payCharge\":\"55\",\"violationTime\":\"2014-04-29 14:40:00\",\"dealId\":\"1\",\"regulationId\":\"60685\",\"isOnSiteSingle\":\"false\",\"regulationSN\":\"1344\",\"fineAmount\":\"200\",\"dealaddress\":\"\",\"cityAreaId\":\"55\",\"errrorMsg\":\"因违法行为涉及扣分事项，须驾驶者本人前往当地处罚机构接受处理！\",\"tempId\":\"yueB_2014-1173\"},{\"provinceId\":\"2\",\"violationRoad\":\"广州市越秀区建设中马路_建设中马路路段\",\"porint\":\"3\",\"cityId\":\"165\",\"regulationName\":\"机动车违反禁令标志指示的\",\"cityName\":\"广州市\",\"payCharge\":\"55\",\"violationTime\":\"2014-04-28 11:10:00\",\"dealId\":\"1\",\"regulationId\":\"60685\",\"isOnSiteSingle\":\"false\",\"regulationSN\":\"1344\",\"fineAmount\":\"200\",\"dealaddress\":\"\",\"cityAreaId\":\"55\",\"errrorMsg\":\"因违法行为涉及扣分事项，须驾驶者本人前往当地处罚机构接受处理！\",\"tempId\":\"yueB_2014-1174\"},{\"provinceId\":\"2\",\"violationRoad\":\"广州市越秀区建设中马路_建设中马路路段\",\"porint\":\"3\",\"cityId\":\"165\",\"regulationName\":\"机动车违反禁令标志指示的\",\"cityName\":\"广州市\",\"payCharge\":\"55\",\"violationTime\":\"2014-04-24 09:13:00\",\"dealId\":\"1\",\"regulationId\":\"60685\",\"isOnSiteSingle\":\"false\",\"regulationSN\":\"1344\",\"fineAmount\":\"200\",\"dealaddress\":\"\",\"cityAreaId\":\"55\",\"errrorMsg\":\"因违法行为涉及扣分事项，须驾驶者本人前往当地处罚机构接受处理！\",\"tempId\":\"yueB_2014-1175\"},{\"provinceId\":\"2\",\"violationRoad\":\"广州市越秀区建设中马路_建设中马路\",\"porint\":\"3\",\"cityId\":\"165\",\"regulationName\":\"机动车违反禁令标志指示的\",\"cityName\":\"广州市\",\"payCharge\":\"55\",\"violationTime\":\"2014-05-03 12:54:00\",\"dealId\":\"1\",\"regulationId\":\"60685\",\"isOnSiteSingle\":\"false\",\"regulationSN\":\"1344\",\"fineAmount\":\"200\",\"dealaddress\":\"\",\"cityAreaId\":\"55\",\"errrorMsg\":\"因违法行为涉及扣分事项，须驾驶者本人前往当地处罚机构接受处理！\",\"tempId\":\"yueB_2014-1176\"},{\"provinceId\":\"2\",\"violationRoad\":\"沿江西路_沿江西路中山二院路段\",\"porint\":\"3\",\"cityId\":\"165\",\"regulationName\":\"机动车违反禁令标志指示的\",\"cityName\":\"广州市\",\"payCharge\":\"55\",\"violationTime\":\"2014-05-06 10:09:00\",\"dealId\":\"1\",\"regulationId\":\"60685\",\"isOnSiteSingle\":\"false\",\"regulationSN\":\"1344\",\"fineAmount\":\"200\",\"dealaddress\":\"\",\"cityAreaId\":\"55\",\"errrorMsg\":\"因违法行为涉及扣分事项，须驾驶者本人前往当地处罚机构接受处理！\",\"tempId\":\"yueB_2014-1177\"},{\"provinceId\":\"2\",\"violationRoad\":\"广州市越秀区建设中马路_建设中马路路段\",\"porint\":\"3\",\"cityId\":\"165\",\"regulationName\":\"机动车行驶超过规定时速30%以上50%以下的\",\"cityName\":\"广州市\",\"payCharge\":\"55\",\"violationTime\":\"2014-05-14 14:00:00\",\"dealId\":\"1\",\"regulationId\":\"67933\",\"isOnSiteSingle\":\"false\",\"regulationSN\":\"13032\",\"fineAmount\":\"150\",\"dealaddress\":\"\",\"cityAreaId\":\"55\",\"errrorMsg\":\"因违法行为涉及扣分事项，须驾驶者本人前往当地处罚机构接受处理！\",\"tempId\":\"yueB_2014-1178\"},{\"provinceId\":\"2\",\"violationRoad\":\"潮汕金环路口\",\"porint\":\"12\",\"cityId\":\"1143\",\"regulationName\":\"醉酒后驾车\",\"cityName\":\"汕头市\",\"payCharge\":\"65\",\"violationTime\":\"2014-05-15 04:59:00\",\"dealId\":\"1\",\"regulationId\":\"67934\",\"isOnSiteSingle\":\"false\",\"regulationSN\":\"17021\",\"fineAmount\":\"0\",\"dealaddress\":\"\",\"cityAreaId\":\"162\",\"errrorMsg\":\"因违法行为涉及扣分事项，须驾驶者本人前往当地处罚机构接受处理！\",\"tempId\":\"yueB_2014-1179\"},{\"provinceId\":\"2\",\"violationRoad\":\"府学西街_府学西街路段\",\"porint\":\"3\",\"cityId\":\"165\",\"regulationName\":\"在城市快速路上超速不足50％的\",\"cityName\":\"广州市\",\"payCharge\":\"55\",\"violationTime\":\"2014-05-21 22:58:00\",\"dealId\":\"1\",\"regulationId\":\"67935\",\"isOnSiteSingle\":\"false\",\"regulationSN\":\"43051\",\"fineAmount\":\"200\",\"dealaddress\":\"\",\"cityAreaId\":\"55\",\"errrorMsg\":\"因违法行为涉及扣分事项，须驾驶者本人前往当地处罚机构接受处理！\",\"tempId\":\"yueB_2014-1180\"},{\"provinceId\":\"2\",\"violationRoad\":\"中山八路_中山八恩洲北横街\",\"porint\":\"0\",\"cityId\":\"165\",\"regulationName\":\"机动车通过有灯控路口时，不按所需行进方向驶入导向车道的\",\"cityName\":\"广州市\",\"payCharge\":\"55\",\"violationTime\":\"2014-06-05 17:57:00\",\"dealId\":\"1\",\"regulationId\":\"67936\",\"isOnSiteSingle\":\"false\",\"regulationSN\":\"\",\"fineAmount\":\"0\",\"dealaddress\":\"\",\"cityAreaId\":\"55\",\"errrorMsg\":\"抱歉…该违章目前不能提供代缴服务！ \",\"tempId\":\"yueB_2014-1181\"}]}";
//			String message = encryptAppMsg(1,ss,(String) getRequest().getAttribute(FC_DES3_Key));
//			sendAppMsg(message);
        } catch (Exception e) {
            e.printStackTrace();
            throw e;
        }
    }

    /**
     * 保存订单
     *
     * @throws Exception
     */
    public void violationsOrderSave() throws Exception {
        try {
            terminalTypeId = Long.parseLong(getJsonString("terminalTypeId"));
            roleId = Long.parseLong(getJsonString("roleId"));
            userId = Long.parseLong(getJsonString("userId"));
            clientType = Integer.parseInt(getJsonString("clientType"));
            details = getJsonString("details");
            isNeedPenaltyReceipts = getJsonString("isNeedPenaltyReceipts");
            isNeedMailInvoice = getJsonString("isNeedMailInvoice");
            mailTypeId = getJsonString("mailTypeId");
            custName = getJsonString("custName");
            gender = getJsonString("gender");
            mobilePhone = getJsonString("mobilePhone");
            email = getJsonString("email");
            password = getJsonString("password");
            partnerCustNO = getJsonString("partnerCustNO");
            linkMan = getJsonString("linkMan");
            telePhone = getJsonString("telePhone");
            cityName = getJsonString("cityName");
            streetAddress = getJsonString("streetAddress");
            postalCode = getJsonString("postalCode");
            invoiceTitle = getJsonString("invoiceTitle");
            amount = getJsonString("amount");
            merchantOrderTime = getJsonString("merchantOrderTime");
            accountNumber = getJsonString("accountNumber");
            pin = getJsonString("pin");
            track2Data = getJsonString("track2Data");
            track3Data = getJsonString("track3Data");
            signaturePath = getJsonString("signaturePath");
            voitureNo = getJsonString("voitureNo");

            encryType = getJsonString("encryType");
            icCardYu = getJsonString("icCardYu");//IC卡 域
            transTerminalId = getJsonString("transTerminalId");//翰星终端ID

            functionKey = "ADDED_ILLEGAL_AGENT";
            if (!checkPIV(functionKey)) {
                log.warn("违章保存订单时, 接口暂停使用！");
                return;
            }

            //屏蔽伪卡
            if (transRefuseCardService.isRefuseCard(accountNumber)) {
                sendAppErrorMsg("6073", accountNumber);
                return;
            }

            if (!checkTransAmt(details, amount)) {
                String message = encryptAppMsg(0, "JY99", "保存订单时,金额输入错误！");
                sendAppMsg(message);
                return;
            }

            TerminalPrivileges tp = terminalPrivilegesService.searchPrivilegesByFunctionKey(functionKey);
            //IC卡
            Integer payTchannel = tp.getPayTchannel().intValue();
//			if(StringUtils.isNotEmpty(icCardYu)){
//				payTchannel = PurchaseBaseAction.TC_anxinybSocket;
//			}
            if ("1".equals(encryType)) {
                track2Data = ME30DataDecode.decryptTrace2(track2Data);
                //icCardYu.replace(oldChar, newChar)
            } else if ("2".equals(encryType)) {
                String trackOData = getJsonString("trackOData");
                String[] trackA = ME30DataDecode.decryptTrace2_aic(trackOData, track2Data);
                track2Data = trackA[0];
                track3Data = trackA[1];
            }
            track2Data = track2Data.replaceAll("F", "");//屏蔽二磁道有F的情况

            Date date = new Date();
            merchantOrderTime = DateConvertUtil.dateString(date, "yyyyMMddHHmmss");
            String orderNum = getOrderNumByDate(date);
            User user = userService.getUserById(userId);
            if (null != user) {
//				String dynamicKeyData= DesUtil.generate16Key();
//				String transType = "100000";
//				pin=DesUtil.encryptPin(merchantOrderTime, pin, Qian48Constant.pinKey);
//				track2Data=DesUtil.encryptStanderTranck(merchantOrderTime, dynamicKeyData, Qian48Constant.DesKey, track2Data);
//				byte[] desKey = DesUtil.compute3DES(DesUtil.hexStringToByte(Qian48Constant.macKey),DesUtil.hexStringToByte(merchantOrderTime + "80"));
//				String orgMacStr = accountNumber + " " + pin + " " + track2Data + " " + orderNum + " " + amount + " " + merchantOrderTime + " " +  transType;
//				//报文鉴别码
//				String mac=DesUtil.mac(DesUtil.byte2hex(desKey), orgMacStr);
                //组装 发送数据
                Qian4SendLog send = new Qian4SendLog();
                send.setCallType(0);
                send.setUserId(userId);
                send.setOrderTypeId(orderTypeId);
                send.setApplication("Purchase.Req");
                send.setTransType("100000");//
                send.setSendTime(date);
                send.setSendSeqId(TimeUtils.getTimeToString());
//				send.setMerchantId(Qian48Constant.merchantId);//商户代码 ##
//				send.setTerminalId(Qian48Constant.jianyi_terminalId);
//				send.setPlatformId(Qian48Constant.platformId);

                send.setMerchantOrderId(orderNum);//商户订单号
                send.setMerchantOrderTime(DateConvertUtil.stringDate(merchantOrderTime, "yyyyMMddHHmmss"));//商户订单号时间
                send.setTransTime(send.getSendTime());
                send.setTransAmt(amount);
                send.setCurrency("156");
                send.setAccountNumber(accountNumber);
                send.setPin(pin);
                send.setTrack2Data(track2Data);
                send.setTrack3Data(track3Data);
                //send.setCardholderSign(cardholderSign);//电子签名
//				send.setDynamicKeyData(dynamicKeyData);
//				send.setMac(mac);
                send.setCollectionType(payTchannel);
                send.setIp(URLDecoderTools.getRemoteHost(getRequest()));//IP
                send.setIcCardYu(icCardYu);
                send.setCardTypeN(StringUtils.isEmpty(icCardYu) ? 1 : 2);//1 磁条卡 2 IC卡
                send.setTransTerminalId(transTerminalId);

                AddedOrder order = new AddedOrder();
                order.setOrderNum(orderNum);
                order.setTerminalTypeId(terminalTypeId);
                order.setRoleId(roleId);
                order.setClientType(clientType);
                order.setOrderTypeId(orderTypeId);
                order.setUserId(userId);
                order.setTransMoney(Double.parseDouble(amount) / 100);
                order.setBankCard(accountNumber);
                order.setMobile(mobilePhone);
                order.setStatus(3);
                order.setCreateDate(date);
                order.setLongTime(date.getTime());
                order.setSignaturePath(signaturePath);
                order.setChannelId(tp.getTchannel());
                Map<String, String> thirdParamMap = new HashMap<String, String>();
                thirdParamMap.put("details", details);
                thirdParamMap.put("isNeedPenaltyReceipts", isNeedPenaltyReceipts);//是否邮寄
                thirdParamMap.put("isNeedMailInvoice", isNeedMailInvoice);
                thirdParamMap.put("mailTypeId", mailTypeId);
                thirdParamMap.put("custName", custName);
                thirdParamMap.put("gender", gender);
                thirdParamMap.put("email", email);
                thirdParamMap.put("password", password);
                thirdParamMap.put("partnerCustNO", partnerCustNO);
                thirdParamMap.put("linkMan", linkMan);
                thirdParamMap.put("telePhone", telePhone);
                thirdParamMap.put("cityName", cityName);
                thirdParamMap.put("streetAddress", streetAddress);
                thirdParamMap.put("postalCode", postalCode);
                thirdParamMap.put("invoiceTitle", invoiceTitle);
                order.setThirdData(JSONStringBuilder.getAjaxString(thirdParamMap));
                order.setPayTchannel(payTchannel.longValue());
                order.setCardTypeN(send.getCardTypeN());//1 磁条卡 2 IC卡
                order.setTransTerminalId(transTerminalId);


//				long sendId = addedOrderService.insertOrder(send, order);
//				send.setId(sendId);

                Map<String, Object> result = new HashMap<String, Object>();

                //保存订单
//				result = violation.ViolationsOrderSave(details, isNeedPenaltyReceipts, isNeedMailInvoice, mailTypeId, custName, gender, mobilePhone, email, password, partnerCustNO, linkMan, telePhone, cityName, streetAddress, postalCode, invoiceTitle);
                if ("0000".equals(result.get("reqCode"))) {
                    String thirdOrderNum = (String) result.get("billId");
                    String customerId = (String) result.get("customerId");
                    String errrorMsg = (String) result.get("errrorMsg");
                    String payamout = (String) result.get("amout");//应该缴费
                    String realCharge = (String) result.get("realCharge");//实际缴费
                    thirdParamMap.put("customerId", customerId);
                    thirdParamMap.put("errrorMsg", errrorMsg);
                    thirdParamMap.put("payamout", payamout);
                    thirdParamMap.put("realCharge", realCharge);


//					//去支付
//					PurchaseResult rs = null;
//					switch(tp.getPayTchannel().intValue()){
//						case 4: rs = lianYiJiaService.fdPurchase(send);break;
//						default:rs = hanxinService.purchase(send,0.004);
//					}
                    PurchaseResult rs = payOrder(send, order);
                    if (0 == rs.getStatus()) {//
                        log.debug("支付失败");
                        result.clear();
                        result.put("reqCode", rs.getReqCode());
                        result.put("reqMsg", rs.getReqMsg());
                        //修改订单
                        addedOrderService.receivablesError(order.getId(), 0, rs.getReqCode(), rs.getReqMsg());
                        qian4SendLogService.updateResCodeMassage(send.getId(), rs.getReqCode(), rs.getReqMsg());
                    } else {
                        order = addedOrderService.purchaseResolveResult(order, send, rs);

                        qian4SendLogService.updateResCodeMassage(send.getId(), order.getReqCode(), order.getReqMsg());
                        result.put("reqCode", order.getReqCode());
                        result.put("reqMsg", order.getReqMsg());
                        if ("0000".equals(order.getReqCode())) {
                            //#####################################
//							result = violation.GetPayOrder(customerId, thirdOrderNum); //暂时不打开预付款

                            //violation.CancelOrder(thirdOrderNum);//############ 取消订单
                            if ("0000".equals(result.get("reqCode"))) {
                                addedOrderService.updateThirdCodeAndMsg(order.getId(), 1, result.get("reqCode").toString(), result.get("reqMsg").toString(), result.get("billId").toString());
                                result.put("reqMsg", "违章代办成功！");

                                thirdParamMap.put("customerId", result.get("customerId") + "");//会员ID
                                thirdParamMap.put("payAmout", result.get("amout") + "");//支付金额
                                thirdParamMap.put("realCharge", result.get("realCharge") + "");//支付金额
                                addedOrderService.updateThirdData(order.getId(), JSONStringBuilder.getAjaxString(thirdParamMap));

                                //小票
                                result.put("category", orderType.get(order.getOrderTypeId()));
                                result.put("status", order.getStatus());
                                result.put("orderNum", order.getOrderNum());
                                result.put("transTime", DateConvertUtil.dateString(order.getCreateDate(), "HH:mm:ss"));
                                String cParam = terminalTypeId + "_" + order.getId();
                                String cParamB64 = new String(Des3.encodeXP(cParam));
                                result.put("certificateUrl", Certificate + cParamB64);
                                result.put("merchantName", Q4BaseAction.MERCHANT_NAME);//商户名称
                                result.put("merchantId", Q4BaseAction.MERCHANT_ID);//商户编号
                                result.put("terminalId", send.getTerminalId());//终端编号
                                String acquirersName = user.getOpeningBank();
                                if (null != acquirersName) {
                                    acquirersName = acquirersName.replace("中国", "");
                                }
                                result.put("acquirersName", null != acquirersName ? acquirersName : order.getIssueBank());//收单行
                                result.put("issueBank", null == order.getIssueBank() ? "" : order.getIssueBank());//发卡行
                                result.put("bankCard", order.getBankCard());//收款卡号
                                result.put("cardType", null == order.getCardType() ? "" : order.getCardType());//收款卡号
                                result.put("expireDate", null == order.getExpireDate() ? "" : order.getExpireDate());//卡有效期（预授权时）
                                result.put("batchId", null == order.getBatchId() ? "" : order.getBatchId());//批次号
                                result.put("authorizationCode", null == order.getAuthorizationCode() ? "" : order.getAuthorizationCode());//授权码
                                result.put("bankTransTime", DateConvertUtil.dateString(order.getCreateDate(), "yyyy/MM/dd"));//日期/时间  transPriorSettle.getBankTransTime()
                                result.put("transMoney", order.getTransMoney());//交易金额
                                result.put("bankRef", order.getBankRef());//参考号
                                result.put("searchId", order.getSearchId());//凭证号
                                result.put("transId", order.getBankOrderNum());//银联交易流水号
                            } else {
                                addedOrderService.updateThirdCodeAndMsg(order.getId(), 4, result.get("reqCode") + "", result.get("reqMsg") + "--" + result.get("errrorMsg"), null);
//								Map<String,Object> resultC =  violation.CancelOrder(thirdOrderNum);//取消订单
//								if("0000".equals(resultC.get("reqCode"))){
//									String cancelOrderResult = (String) result.get("cancelOrderResult");
//									if("1010".equals(cancelOrderResult) || "1007".equals(cancelOrderResult)){//不存在  和 取消成功
//										addedOrderService.updateThirdCodeAndMsg(order.getId(), 5, resultC.get("reqCode").toString(), resultC.get("reqMsg").toString(), null);
//										//撤销订单
//										revocationOrderTimeOut(send,order.getId());
//									}else{
//										addedOrderService.updateThirdCodeAndMsg(order.getId(), null, null, "取消订单："+resultC.get("reqMsg").toString(), null);
//									}
//								}
                            }
                        } else {
//							Map<String,Object> resultC = violation.CancelOrder(thirdOrderNum);
//							if("0000".equals(resultC.get("reqCode"))){
//								String cancelOrderResult = (String) resultC.get("cancelOrderResult");
//								if("1010".equals(cancelOrderResult) || "1007".equals(cancelOrderResult)){//不存在  和 取消成功
//									addedOrderService.updateThirdCodeAndMsg(order.getId(), 5, resultC.get("reqCode").toString(), resultC.get("reqMsg").toString(), null);
//								}else{
//									addedOrderService.updateThirdCodeAndMsg(order.getId(), null, null, "取消订单："+resultC.get("reqMsg").toString(), null);
//								}
//							}
                        }
                    }
                    //检测 银联返回结果 如果是有违法嫌疑的  那么将暂停该笔结算
                    transRefuseCardService.checkRefuseClear(userId, rs.getReqMsg(), order.getOrderNum(), order.getOrderTypeId());
                }
                sendAppMsg(result);
            }

        } catch (Exception e) {
            e.printStackTrace();
            throw e;
        }
    }

    /**
     * 校验金额
     *
     * @return
     * @throws Exception
     */
    public boolean checkTransAmt(String details, String amout) throws Exception {
        log.debug("details = " + details);
        log.debug("amout = " + amout);
        String[] darray = details.split("\\|");
        Double transMoney = Double.parseDouble(amout);
        double fineAmount = 0.0;
        double payCharge = 0.0;
        Double totalAmt = 0.0;
        for (String row : darray) {
            String[] rowArray = row.split(",");

            fineAmount = Double.parseDouble(rowArray[15]);
            payCharge = Double.parseDouble(rowArray[16]);
            totalAmt = totalAmt + fineAmount + payCharge;
            log.debug("totalAmt = " + fineAmount + " + " + payCharge + " = " + totalAmt);
        }
        totalAmt = NumberUtil.roundF2(totalAmt * 100);
        if (transMoney.intValue() == totalAmt.intValue())
            return true;
        return false;
    }

}
